首先,咱要清楚一点:
高内聚,低耦合 => 好的代码
高内聚和低耦合是好的代码必须具备的特点
1、什么叫做高内聚呢?
高内聚: 把有关联的东西放在一起,最好能放在指定的地方(好找)
举例子:
我夫人特别温柔,上得厅堂,下得厨房,但有一个很明显的缺点,平时东西会乱放
她的衣服,会出现在很多地方
比如,床上,衣柜上,沙发上,椅子上,地上,晾衣架上...
可谓是无处不在
于是,每当她想找某个衣服,就会非常困难
我给夫人找一件衣服,就需要把我家的各个角落都遍历一遍,甚至还不一定能找到
上述情况,就是“低内聚”
2、什么叫做低耦合呢?
耦合: 两个模块/代码 之间的关联关系,关联关系越大,越容易相互影响,认为是耦合越大
代码,追求的是低耦合,避免“牵一发而动全身”这边一改出 bug,影响到了其他的地方
举例子:
1、最近公司加班,我太忙了,一周没回家,夫人思念成疾,住院了,我当时退掉所有工作,请假去医院照顾她
这就是高耦合
2、但如果说我高中暗恋的女同学生病了,我得知消息后顶多发个消息意思意思,不会影响我的工作和生活
这就是低耦合