设计模式按照功能和目的通常划分为三类:
一、 创建型模式:关注对象的创建。对对象的实例化过程进行抽象,使调用者不用关心这些对象是如何创建的。
共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
这种创建型模式的通用套路通常做法是抽象出一个类,提供一个公开的静态方法,调用这个方法就可以获得对象实例。
二、结构型模式:关注对象的组成及对象间的关系。
共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
这种结构型模式的通用套路一般是:定义一个接口interface用来与外界(调用者client)打交道,对这个接口搞一个实现类Impl,在实现类中包装一个别的类的对象实例,用来真正干活。
三、行为型模式:行为模式关注不同的类和对象之间的交互、通信和协作。
共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
行为模式之间的通用图解之后总结后再加上。