什么是设计模式?
定义:软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。
- 代表了代码的最佳实践,被有经验的开发人员所使用
- 设计模式是很多被重复使用并知晓的,主要是对代码和经验的总结
- 使用设计模式是为了重用代码,让代码更容易被他人理解,保证代码的可靠性
- 对接口编程而不是对实现编程
- 有限使用对象组合而不是继承关系
GoF23种设计模式
- 创建型模式(Creational Patterns)
用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。这些模式涉及到对象创建的机制,目的是创建对象时使程序的结构更加灵活和可复用。
-
- 工厂方法模式(Factory Method)
- 抽象工厂模式(Abstract Factory)
- 建造者模式(Builder)
- 原型模式(Prototype)
- 单例模式(Singleton)
- 结构型模式(Structural Patterns)
用于描述如何将类或对象按某种布局组成更大的结构,这些模式关注对象和类的组合,目的是使系统更加灵活。
-
- 适配器模式(Adapter)
- 组合模式(Composite)
- 外观模式(Facade)
- 享元模式(Flyweight)
- 代理模式(Proxy)
- 桥接模式(Bridge)
- 装饰者模式(Decorator)
- 行为型模式(Behavioral Patterns)
用于描述类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责。这些模式特别关注对象之间的通信。
-
- 解释器模式(Interpreter)
- 模板方法模式(Template Method)
- 状态模式(State)
- 责任链模式(Chain of Responsibility)
- 观察者模式(Observer)
- 命令模式(Command)
- 迭代器模式(Iterator)
- 中介者模式(Mediator)
- 备忘录模式(Memento)
- 策略模式(Strategy)
- 访问者模式(Visitor)
分类
创建型模式 | 结构型模式 | 行为型模式 | |
类 | 工厂方法模式 | 适配器模式 | 解释器模式 |
模板方法模式 | |||
对象 | 抽象工厂模式 | 适配器模式 | 状态模式 |
建造者模式 | 组合模式 | 责任链模式 | |
原型模式 | 外观模式 | 观察者模式 | |
单例模式 | 享元模式 | 命令模式 | |
代理模式 | 迭代器模式 | ||
桥接模式 | 中介者模式 | ||
装饰者模式 | 备忘录模式 | ||
策略模式 | |||
访问者模式 |