目录
设计模式的目的
设计模式的七大原则
设计模式的三大分类及概述
1、创建型模式
2、结构型模式
3、行为型模式
23种设计模式
单例模式--创建型
代理模式--结构型
装饰器模式--结构型
仲裁者模式/中介者模式--行为型
案例说明
伪Java代码
模板模式--行为型
工厂模式--创建型
简单工厂模式(即静态工厂模式)
抽象工厂模式
示例1(他人眼中的‘工厂方法模式’)
示例2(他人眼中的‘抽象工厂模式’)
享元模式--结构型
策略模式--行为型
责任链模式--行为型
观察者模式/发布订阅模式--行为型
建造者模式--创建型
外观模式--结构型
外观模式的优势
外观模式的案例
组合模式--结构型
适用场景
模式对比
JAVA小案例
原型模式--创建型
步骤1:创建一个实现Cloneable接口的抽象类Shape
步骤2:创建具体图形类(Circle, Rectangle, Square)
步骤3:创建一个原型注册表(缓存),提供getShape(String shapeId)方法调用clone()以获取原型
步骤4:使用原型模式获取对象
输出结果
深克隆示例
设计模式的目的
- 使程序呈现出高内聚,低耦合的特性。
- 可重用性(即:相同功能的代码,不用多次编写)
- 可扩展性(即:当需要增加新的功能时,非常的方便)
- 可维护性 (即:当需要修改旧的功能时,非常的方便)
- 可靠性(即:当增加新功能或者修改旧功能后,对原来的功能没有影响)
- 可读性(即:编程规范性, 便于其他程序员阅读和理解)