创建型模式
简单工厂模式:用一个工厂类来创造产品,解耦用户与产品。
工厂方法模式:一个抽象工厂类,一个抽象产品类
抽象工厂模式:一个抽象工厂类,多个抽象产品类
建造者模式:创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式。(Director)
单例模式有以下特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
懒汉式单例:在第一次调用的时候实例化自己,非线程安全(双重判定/加同步)
饿汉式单例:类创建的同时创建好一个静态的对象
原型模式:
结构型模式:
代理模式:对象之间加隔离(人买车)
适配器模式:
装饰者模式:
外观模式:
桥接模式:
组合模式:
享元模式:
行为型模式
状态模式:
使用状态模式后,客户端外界可以直接使用事件Event实现,根本不必关心该事件导致如何状态变化,这些是由状态机等内部实现。
这是一种Event-condition-State,状态模式封装了condition-State部分。
每个状态形成一个子类,每个状态只关心它的下一个可能状态,从而无形中形成了状态转换的规则。如果新的状态加入,只涉及它的前一个状态修改和定义。
策略模式:
创建一个能够根据所传递参数对象的不同而具有不同行为的方法。
优点
1、可以动态的改变对象的行为
缺点
1、客户端必须知道所有的策略类,并自行决定使用哪一个策略类
2、策略模式将造成产生很多策略类
模板方法模式:
观察者模式:
迭代子模式:
责任链模式:
命令模式:
备忘录模式:
访问者模式:
中介者模式:
解释器模式:
并发型模式和线程池模式: