JAVA的22种设计模式

JAVA的22种设计模式

目录

设计模式的目的

设计模式的七大原则

设计模式的三大分类及概述

1、创建型模式

2、结构型模式

3、行为型模式

23种设计模式

单例模式--创建型

代理模式--结构型

装饰器模式--结构型

仲裁者模式/中介者模式--行为型

案例说明

伪Java代码

模板模式--行为型

工厂模式--创建型

简单工厂模式(‌即静态工厂模式)

抽象工厂模式

示例1(他人眼中的‘工厂方法模式’)

示例2(他人眼中的‘抽象工厂模式’)

享元模式--结构型

策略模式--行为型

责任链模式--行为型

观察者模式/发布订阅模式--行为型

建造者模式--创建型

外观模式--结构型

外观模式的优势

外观模式的案例

组合模式--结构型

适用场景‌

模式对比‌

JAVA小案例

原型模式--创建型

步骤1:创建一个实现Cloneable接口的抽象类Shape

步骤2:创建具体图形类(Circle, Rectangle, Square)

步骤3:创建一个原型注册表(缓存),提供getShape(String shapeId)方法调用clone()以获取原型

步骤4:使用原型模式获取对象

输出结果

深克隆示例


设计模式的目的

  • 使程序呈现出高内聚,低耦合的特性。
  • 可重用性(即:相同功能的代码,不用多次编写)
  • 可扩展性(即:当需要增加新的功能时,非常的方便)
  • 可维护性 (即:当需要修改旧的功能时,非常的方便)
  • 可靠性(即:当增加新功能或者修改旧功能后,对原来的功能没有影响)
  • 可读性(即:编程规范性, 便于其他程序员阅读和理解)

设计模式的七大原则

<