意义
目的是实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性
如何判断类的职责是否单一
类中的代码行数、函数或者属性过多,会影响代码的可读性和可维护性,<br>就需要考虑对类的职责进行更细致的划分,拆成不同职责的类<br>
类依赖的其他类过多,或者依赖类的其他类过多,不符合高内聚、低耦合的设计思想,也要考虑进行拆分。<br>依赖其他类过多,耦合性增加
私有方法过多,就要考虑能否将私有方法独立到新的类中,设置为 public 方法,供更多的类使用,从而提高代码的复用性
比较难给类起一个合适名字,很难用一个业务名词概括,或者只能用一些笼统的 Manager、Context <br>之类的词语来命名,这就说明类的职责定义得可能不够清晰<br>
类中大量的方法都是集中操作类中的某几个属性,比如,在 UserInfo 中,<br>如果一半的方法都是在操作 address 信息,那就可以考虑将这几个属性和对应的方法拆分出来<br>
注意过渡单一化
单一化的目的是实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性,应该在此前提下进行合理的职责单一化,<br>不是为了单一化儿单一化,要结合实际的业务场景
拆分的过细会降低代码的内聚性,也会增加维护成本