花了近一个月的时间,终于将Java 设计模式全部整理完毕。为了日后方便阅读回顾,按照模式类型整理如下
先介绍了设计模式的原则:
一、创建型模式(Creational Pattern)
创建型关注的是对象的创建过程,描述的是如何将对象的创建和使用分离,对用户隐藏类的实例的创建细节。从而降低系统的耦合度,让设计方案更易于修改和扩展。
GOF设计模式中,创建型模式包含五种模式,主要有工厂方法模式、抽象工厂模式、单例模式、原型模式和建造者模式。我在整理时加上了简单工厂模式。
具体六种设计模式如下:
- 设计模式学习笔记(二)工厂模式、模板模式和策略模式介绍以及混合使用
- 设计模式学习笔记(三)简单工厂、工厂方法和抽象工厂之间的区别
- 设计模式学习笔记(四)单例模式的实现方式和使用场景
- 设计模式学习笔记(五)建造者模式和其他对象创建方式的区别
- 设计模式学习笔记(六)原型模式以及深浅拷贝的区别
二、结构型模式(Structural Pattern)
结构型关注的是如何将类或对象结合在一起形成更大的结构。不同的结构型模式从不同的角度来进行组合。它们尽可能满足各种面向对象设计原则的同时为类或对象的组合提供一系列解决方案。
GOF设计模式中,结构性模式包含七种模式,主要有适配器模式(Adapter Pattern)、桥接模式(Bridge Pattern)、组合模式(Composite Pattern)、装饰模式(Decorator Pattern)、外观模式(Façade Pattern)、享元模式(Flyweight Pattern)和代理模式(Proxy Pattern)。具体介绍如下:
三、行为型模式(Behavioral Pattern)
行为型模式关注的是系统中对象之间的交互,描述程序在运行时复杂的流程控制,即多个类或对象之间如何协作完成单个对象无法单独完成的任务。
行为型模式分为类行为模式和对象行为模式
- 类行为模式:采用集成机制来在类间分派行为
- 对象行为模式:采用组合或聚合在对象间分配行为
GOF设计模式中主要有11种,分别是模板方法模式(Template Method Pattern)、策略模式(Strategy Pattern)、命令模式(Command Pattern)、职责链模式(Chain of Responsibility Pattern)、状态模式(State Pattern)、观察者模式(Observer Pattern)、中介者模式(Mediator Pattern)、迭代器模式(Iterator Pattern)、访问者模式(Visitor Pattern)、备忘录模式(Memento Pattern)和解释器模式(Interpreter Pattern)。具体内容如下