类型范式/原则对类/架构的意义


编程范式

(如何组织代码)

结构化编程拆分不同的函数、模块、组件
面向对象编程依赖倒置基础
函数式编程拆分可变和不可变



设计原则

(如何组织类)

单一职责原则分隔不同"角色"依赖的代码
里氏替换原则指导接口和实现方式
接口隔离原则指导接口设计
依赖倒置原则指导设计组件间依赖的方向
开闭原则指导整体的类设计


组件聚合原则

(类归入哪些模块)

复用、发布等同原则(REP)


指导组件拆分的粒度

共同封闭原则(CCP)
共同复用原则(CRP)


组件依赖原则

(模块相互依赖)

无循环依赖原则指导分层
稳定依赖原则指导分层
依赖抽象原则有利于组件扩展