目录
一、软件与产品
生命周期
关系
共同点
1.1、可维护性
软件退役根本原因
设计目的
1.2、可复用性
可复用性通常包括以下几个方面
1.3、可维护性与复用性的关系
二、接口
2.1 什么是接口
特点
2.2 为什么使用接口
不足
2.3 接口常见的用法
常见用法
示例
三、抽象类
3.1 什么是抽象类
特点
3.2 为什么使用抽象类
不足
3.2 抽象类常见的用法
常见用法
示例
3.3 哪些设计模式使用抽象类
抽象类在设计模式中的作用
常见的设计模式
四、软件设计原则
设计原则
4.1 单一职责原则(SRP)
定义
优点
缺点和挑战
4.1.1 如何做到单一职责原则
4.1.2 与其它设计模式的关系
4.1.3 示例
4.2 开闭原则(OCP)
定义
优点
缺点和挑战
4.2.1 如何做到开闭原则
采用以下设计方法
4.2.2 与其它设计模式的关系
与开闭原则密切相关设计模式
4.2.3 示例
4.3 里氏代替原则(LSP)
定义
优点
缺点和挑战
4.3.1 如何做到里氏代替原则
采用以下设计方法
4.3.2 与其它设计模式的关系
与里氏代替原则密切相关设计模式
4.3.3 示例
4.4 依赖倒转原则(DIP)
定义
优点
缺点和挑战
4.4.1 如何做到依赖倒转原则
4.4.2 与其它设计模式的关系
4.4.3 示例
4.5 接口隔离原则(ISP)
定义
优点
缺点和挑战
4.5.1 如何做到接口隔离原则
4.5.2 与其它设计模式的关系
4.5.3 示例
4.6 合成/聚合复用原则(CARP)
定义
优点
缺点和挑战
4.6.1 如何做到合成/聚合复用原则
4.6.2 与其它设计模式的关系
4.6.3 示例
4.7 迪米特法则(LoD)
定义
优点
缺点和挑战
4.7.1 如何做到迪米特法则
4.7.2 与其它设计模式的关系