单一责任原则和汇总

时间:2016-04-10 00:49:02

标签: c++ aggregation single-responsibility-principle

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

1 个答案:

答案 0 :(得分:0)

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

也就是说,有可能在一项工作中过度扁平化,应该在其他职责下进行分组和抽象。如果这些抽象职责的变化影响了我们的课程,那么他们就没有被恰当地抽象出来。

引用对象应该只暴露给它的接口。不是内部的变化。