单一责任原则和集合

The single responsibility principle and aggregation

本文关键字:集合 原则 责任 单一      更新时间:2023-10-16

我知道单一责任原则规定一个类应该只有一个责任或一个改变的原因。这是否意味着一个具有许多聚合成员变量的类违反了这一原则?我的意思是,当一个类将它的一些操作委托给它的聚合成员变量时,这是否违反了SRP?还是这些聚合成员被认为只对其操作负责,而包含它们的类与这些操作无关?

这个类有多少并不是重点。这是班上的事。它的用途。它的责任是什么。类可能不会公开任何聚合成员。它可能只有一种方法。所有这些成员都需要做这项工作。只要它有一份工作,就不会违反单一责任原则。

也就是说,有可能在一项工作下过度扁平化,而这些工作本应分组并抽象到其他职责下。如果这些抽象职责的更改影响了我们的类,那么它们就没有被正确地抽象。

对一个对象的引用应该只向它的接口公开。而不是内部的变化。