组件的设计原则

概念

组件:最小部署单元,二进制文件,比如dll

要求:保留独立部署、独立开发的能力

无环依赖原则

稳定依赖原则

FanIn:外部依赖本组件的数量

FanOut:依赖外部类的数量

不稳定性:I = FanOut / (FanIn + FanOut)

稳定抽象原则

Na:抽象类和接口的数量

Nc:类的数量

抽象性:A=Na/Nc

内聚原则

REP原则:复用、发布等价原则(包容性,使组件变大)

CCP原则:共同闭合原则(包容性,使组件变大)

变更原因相同的类内聚为一个组件;

CRP原则:共同复用原则(排他性,使组件变小)