对外低耦合,对内高内聚
这并不矛盾,实际就基于单一职责 这个原则
一个职责应该高内聚在一个对象里完成,而不应该在多个对象里完成
这样与这个职责相关的对象只有一个,对外来说他不依靠其他类,他对其他类来说是没有耦合的
1、耦合、内聚的评估标准是强度,耦合越弱越好,内聚越强越好;
2、所谓过度指的是由于错误理解导致的效果相反的设计;
3、耦合指的模块之间的关系,最弱的耦合设计是通过一个主控模块来协调n个模块之间的运作。还是举一个我举过的例子:客户要求在界面上增加一个字段,你的项目要修改几个地方呢?如果你只要修改项目文档,那么你的开发构架就是最低强度的耦合,而这种设计 成熟的开发团队都已经做到了,他们使用开发工具通过项目模型驱动数据库和各层次的代码,而不是直接修改那些代码;
4、内聚指的是模块内部的功能,最强的内聚就是功能单一到不能拆分,也就是原子化,
5、所以强内聚和弱耦合是相辅相成的,一个良好的设计是由若干个强内聚模块以弱耦合的方式组装起来的