设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式是为了重用代码,让代码更容易被他人理解,保证代码可靠性。
设计模式不是一种技术,而是一种思想。设计模式不是代码,而是针对代码编写的通用解决方案。设计模式的核心思想是面向对象编程中的继承、多态、封装等思想。
设计模式的类型
根据设计模式的目的、范围和实现方式,设计模式可以分为23种:
创建型模式(5种)
工厂方法模式(Factory Method Pattern)
抽象工厂模式(Abstract Factory Pattern)
单例模式(Singleton Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
创建型模式是用来解决对象的创建问题的,这些模式通过控制对象的创建方式、对象的数量等方式来达到其目的。
结构型模式(7种)
适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
组合模式(Composite Pattern)
装饰器模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
结构型模式是用来解决对象之间组合关系的问题,这些模式通过描述对象之间的关系,可以更好地管理对象之间的依赖关系。
行为型模式(11种)
职责链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
策略模式(Strategy Pattern)
模板方法模式(Template Method Pattern)
访问者模式(Visitor Pattern)
行为型模式是用来解决对象之间交互的问题,这些模式通过描述对象之间的通信方式和流程,可以更好地管理对象之间的交互。