概念
组件:最小部署单元,二进制文件,比如dll
要求:保留独立部署、独立开发的能力
无环依赖原则
稳定依赖原则
FanIn:外部依赖本组件的数量
FanOut:依赖外部类的数量
不稳定性:I = FanOut / (FanIn + FanOut)
稳定抽象原则
Na:抽象类和接口的数量
Nc:类的数量
抽象性:A=Na/Nc
内聚原则
REP原则:复用、发布等价原则(包容性,使组件变大)
CCP原则:共同闭合原则(包容性,使组件变大)
变更原因相同的类内聚为一个组件;
CRP原则:共同复用原则(排他性,使组件变小)