软件构造5.1面向对象设计的构造原则(可维护性)

OO设计原则:SOLID

单一责任原则(SRP)

每个类中只有一个功能,不应该有多于1 个原因让你的ADT 发生变化,否则就拆分开。

开闭原则(OCP)

对扩展性的开放:模块的行为应是可扩展的,从而该模块可表现出新的行为以满足需求的变化。
对修改的封闭:虽然可以扩展模块的行为,但是模块自身的代码是不应被修改的。

实现该原则的方案:抽象技术,例如:策略模式,用多种不同的实现方式继承抽象类即可。

Liskov替换原则

具体参考上篇博客
https://blog.csdn.net/qq_43323454/article/details/105906725

接口隔离原则(ISP)

只提供必需的接口,即尽量实现方法内聚,不同的接口向不同的客户端提供服务(有点类似于单一责任原则)。

依赖倒置原则(DIP)

上层client的代码面向抽象接口编程,隔离对下层具体实现机制的直接接触。换句话说:
delegation的时候,要通过interface建立联系,而非具体子类。
软件构造5.1面向对象设计的构造原则(可维护性)

通用职责分配原则(GRASP)

哪个职责分配给哪个类,一般用时序图来表示。包括控制类(控制流程)、信息专家(存储信息)、构造器(用来创建对象)、高内聚、低耦合、多态等。