首页 > 代码库 > 高内聚,低耦合

高内聚,低耦合

之前一直对“高内聚,低耦合”这句话不太理解。。

高内聚在《代码大全》书中解释是:“类内部的子程序或者子程序内所有的代码在支持一个中心目标上的紧密程度--这个类的目标是否集中,当一个类的代码越集中在一个中心目标的时候,就越容易记住这些代码功能所在”。我的理解就是指一个模块使内各个元素彼此结合的紧密程度高,且模块内所有元素共同完成一个功能。代码就体现在一个类只形容一个事物对象,一个方法只执行一种功能操作,一个功能可以是多个方法的结合,但每个方法尽快做到单一。

而低耦合书中说:“耦合度表示类与类之间或者与子程序之间关系的紧密程度,耦合度设计的目标是创建出小的,直接的,清晰的类或子程序,是它们与其他类或者子程序之间关系尽可能地灵活,这就叫做‘松散耦合’,适用于类与子程序”,并且还举了一个火车的例子:大致是火车之间的连接是通过环钩彼此相连,使列车之间或车厢之间很容易就连接起来,但试想如果用其他方式比如用线或螺丝之类的,将使连接工作变得尤为复杂,都是为了达到同样的效果,为什么不用更简单的方式呢,程序设计也是如此,低耦合可以时我们模块之间以更少的方式连接。所以真正想要做到低耦合就是让模块不依赖或少依赖其他模块,能用一个参数就不用两个,能用简单数据类型做参数就不用对象类型,能用简单对象就不用对象参数...

想起之前写的代码,功能虽然实现了,但却很混乱呐。。。

 

高内聚,低耦合