[设计原则1]GRASP --高内聚低耦合

来源:互联网 发布:南岸南山植物园淘宝 编辑:程序博客网 时间:2024/05/21 01:53

        高内聚低耦合是职责分配原则的终极原则,前面的那些原则都是服务于高内聚低耦合这一基本原则。要提升自己的设计水平,需要基于这些设计原则来衡量,然后对已有代码不断优化,不断掌握其精髓。

        高内聚(High Cohesion):分配职责时应保持类的高内聚度,强调的是一个类的功能职责是很紧密的,没有与核心功能不太相关的代码。如果一个类中有很多与其核心功能不太相关的功能,就会影响其重用性,增加依赖,如果我需要使用该类,就必须依赖其他的一些不相关的功能,这些功能的变更都会影响到该类得使用者,不利于后续的扩展和维护。如果一个对象要完成一个虽然在自己职责范围内,但过程非常复杂的任务时,也应当将该任务分解成数个功能相对独立的类来完成。职责非常复杂,证明其职责粒度太粗,还可以封装更多功能粒度教小的子类来,然后通过组合等原则,将这些小颗粒的功能组合完成功能更大的类,这样也更有利于功能的重用。

        低耦合(Low Coupling:分配职责时,应保持耦合度。高内聚与低耦合模式是GRASP原则的根本。所谓耦合,是指多个物体(类)之间的物理或者意思上的关联程度。在面向对象方法中,类是最基本的元素,耦合主要指不同类之间相互关联的紧密程度。系统的耦合是必不可少的,没有任何耦合,各独立的功能模块之间就没法协作完成整个软件系统。因此低耦合是指尽可能的减少之前的耦合度,较少不必要的依赖,如果一个类要依赖很多,一定要多问问自己这些都是必须依赖的吗?是必不可少的依赖吗?不断优化设计。

0 0