1.”程序=数据结构+算法“这句话广为人知,而“程序的要求是高聚合、低耦合”这句话也具有同等的重要性。
2.耦合和聚合一直都以“高聚合,低耦合”的形式一同出现,聚合是一个模块内部各成分之间相关联成都的度量,耦合是模块之间相关联程度的度量。
3.对于聚合,它是对一个模块(最低级狭义的就是函数)内部的度量,所以常称内聚。一般来说,要做到高聚合,一个模块应该只能完成一个独立的功能,模块内部不存在与该功能无关的操作与状态。
4.对于耦合,它主要指不同对象之间相互管理的程度,模块之间的关联越少越好。如果一个对象过多的依赖于其他对象来完成自己的工作,则不仅使该对象的可理解性下降,而且还会增加测试、修改的难度,同事降低了类的可重用性和可移植性。
对象不可能是完全孤立的,当连个对象必须相互联系时,应该通过类的公共接口实现耦合,不应该依赖于类的具体实现细节。
装饰器这个类,给核心功能函数和增强功能函数提供了一个公共的接口来耦合,但各个功能之间是不相互依赖、解耦的,使调试和修改更方便,代码的健壮性也提高了,应尽可能的多使用。
原文地址:http://blog.51cto.com/13886271/2169101