1. 设计模式分类
- 创建型
- 结构型
- 行为型
2. 创建型设计模式
创建型模式处理对象的创建
- 工厂方法模式(Factory Method)
- 抽象工厂模式(Abstract Factory)
- 建造者模式(Builder)
- 原型模式(Prototype)
- 单例模式(Singleton)
3. 结构型设计模式
结构型设计模式处理类或对象的组合
- 适配器模式(Adapter)
- 桥接模式(Bridge)
- 组合模式(Composite)
- 装饰器模式(Decorator)
- 门面模式(Facade)
- 享元模式(Flyweight)
- 代理模式(Proxy)
3.1 装饰器模式
例如,Stream IO流
BufferedInputStream 加缓冲功能
InputStream inputStream = new BufferedInputStream(new FileInputStream(""));
3.2 适配器模式
例如,JDBC
3.3 桥接模式
例如,JDBC驱动
4. 行为型设计模式
行为型设计模式关注对象之间的通信
- 对象之间的通信
- 解释器模式(Interpreter)
- 模板方法模式(Template Method)
- 责任链模式(Chain of Responsibility)
- 命令模式(Command)
- 迭代器模式(Iterator)
- 调解者模式(Mediator)
- 备忘录模式(Memento)
- 观察者模式(Observer)
- 状态模式(State)
- 策略模式(Strategy)
- 访问者模式(Visitor)
5. 设计模式总结与对比
5.1 单例模式和工式模式
- 工厂类一般就是被设计为单例
- ApplicationContext 是工厂也是单例
5.2 策略模式和委派模式
- 策略模式是委派模式内部的一种实现形式
- 策略模式关注的是结果是否能相互替代
- 委派模式更关注分发和调度的过程
网友评论