设计模式可分为三类:创建型模式、结构型模式和行为型模式。
创建型模式:创建型模式是处理类或对象创建的模式,根据不同的需求,采取适合的方式进行创建。创建型模式将对象的部分创建工作延迟到子类或者其他对象中进行,在很大程度上减少的需求的改变对程序的冲击。创建型模式的设计思路:一是将系统使用的具体类封装起来;一是隐藏这些具体类的实例创建和结合的方式。创建型设计模式有:
- 工厂方法模式:定义一个用户创建对象的接口,让子类决定实现哪一个类。工厂方法模式使一个类的实例化延迟到其子类。
- 抽象工厂模式:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构
- 单例模式
- 建造者模式
- 原型模式。
结构型模式:结构型模式的目的在于通过设计现有类之间的交互方式,从而简化设计或者实现某种功能。结构型设计模式有:
- 适配器模式
- 装饰器模式
- 代理模式
- 外观模式
- 桥接模式
- 组合模式
- 享元模式。
行为型模式:行为型模式用于描述程序在运行时复杂的流程控制,控制诸多类或对象之间协同合作和责任分配。行为型模式分为:
- 策略模式
- 模板方法模式
- 观察者模式
- 迭代子模式
- 责任链模式
- 命令模式
- 备忘录模式
- 状态模式
- 访问者模式
- 中介者模式
- 解释器模式
设计模式并不都很复杂,反而有些设计模式十分简单。很多设计模式即便还没学过。但在自己程序的时候就可能设计的结构符合某一设计模式。只是并不了解其细节和特点。设计模式的精髓在于开闭模式,理解一个设计模式需要从该设计模式的目的和需求改动时如何满足开闭原则。