开篇
不论是阅读软件开发相关网站、博文还是技术书籍都能见到耦合、内聚、面向对象、设计模式等诸多关于软件设计的概念,但它们都是孤立存在的一个个知识点,每当我想要在这些孤立的概念中寻找他们之间千丝万缕的关系时,苦于缺乏相关的学习资料而抓破头皮。
引语
在阅读 Eric Evans的《领域驱动设计》(http://baike.baidu.com/view/3705331.htm)后,很长时间积累的不惑似乎在此找到了答案。不断专注于某些概念的理解,却忘记了软件开发的本质,而实际上所有耦合、内聚、设计模式、面向对象等等概念他们始终在解决软件可维护性这个议题,他们的最终目标是让软件维护性变高,而提高软件可维护性的主要方法即是低耦合与高内聚。
能够做到最小化内聚单元(可能是一个类),同时降低内聚单元间的依赖程度(即是低耦合),这个时候不论内聚单元内部的代码如何的难读,最坏的打算就是替换掉他,因为内聚单元小,所以替换成本也会变得极低。
本系列博文主要包含如下几个大的部分,由围观至宏观不断的演进。我也会不定期的更新,并添加到本文目录中去。
代码级解耦(模块内部实现解耦)
1. 事件驱动模式与解耦模块级解耦(模块之间实现解耦)