总体来说设计模式分为三大类:
    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
    其实还有两类:并发型模式和线程池模式。

    策略模式(算法封装,动态改变不同的算法)
    观察者模式 (全局通知)
    动态代理模式 (mybatis,spring-aop)
    装饰模式 (动态给对象额外的添加职责,比继承更加灵活)
    建造者模式 (复杂对象 增加阅读性)