高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

经典理论告诉我们,程序的两大要素:一个是数据( data ),一个是操作( opration )。程序 = 数据结构 算法。虽然提法上有所差异,但是其根本内涵却是一致的,微妙的差别在于,“数据 操作”是微观的视域,“数据结构 算法”则是中观的视域。而在宏观的视域下,我认为“程序 = 对象 消息”。

对象是什么?对象就是保管好自己的东西,做好自己的事情的程序模块——这就是内聚!

程序员怎么学习架构师(普通程序员到高级IT工程师必经之路)(1)

高内聚低耦合

为什么要高内聚低耦合

内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

  • 已有系统无法改动

  • 已有系统已经成熟,改动需要很高的成本,也会导致系统不稳定。

  • 已有系统支持很多其它系统,不能为了你的系统单独修改。

  • 高内聚和低耦合间进行平衡,也就是说高内聚和低耦合是冲突的

  • 在面向对象编程中,对象自身是内聚的,是保管好自己的数据,完成好自己的操作的,而对外界呈现出自己的状态和行为。但是,没有绝对的自力更生,对外开放也是必要的!

    ,