《架构整洁之道》摘录 – 13

第 13 章 – 组件聚合

究竟是那些类应该被组合成一个组件呢?三个与构建组件相关的基本原则:

REP:复用/发布等同原则

软件复用的最小粒度应等同于其发布的最小粒度。

CCP:共同闭包原则

我们应该将那些会同时修改,并且为相同目的而修改的类放到同一个组件中,而将不会同时修改,并且不会为了相同目的而修改的那些类放到不同的组件中。

CRP:共同复用原则

不要强迫一个组件的用户依赖他们不需要的东西。

三个原则之间彼此存在着竞争关系。软件架构师的任务就是要在着三个原则中间进行取舍。一个项目在组件结构设计上的重心是根据该项目的开发时间和成熟度不断变动的,我们对组件结构的安排主要与项目开发的进度和它被使用的方式有关,与项目本身功能的关系其实很小。