1、抽象工厂模式(Abstract Factory)
所谓抽象工厂模式就是她提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类
2、建造者模式(Builder)
对于建造者模式而已,它主要是将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式(Factory Method)
作为抽象工厂模式的孪生兄弟,工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,也就是说工厂方法模式让实例化推迟到子类。
4、原型模式(Prototype)
原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。5、单例模式(Singleton)
单例模式,从字面上看就是一个实例的意思。所以它的定义就是确保某一个类只有一个实例,并且提供一个全局访问点。二、结构型模式
1、适配器模式(Adapter) 所谓适配器模式就是将一个类的接口,转换成客户期望的另一个接口。它可以让原本两个不兼容的接口能够无缝完成对接2、桥接模式(Bridge)
所谓桥接模式就是讲抽象部分和实现部分隔离开来,使得他们能够独立变化。3、组合模式(Composite)
组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。
4、装饰者模式(Decorator)
装饰者模式,动态地将责任附加到对象上。 若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。5、外观模式(Facade)
外观模式提供了一个统一的接口,用来访问子系统中的一群接口6、享元模式(Flyweight)
享元模式就是运行共享技术有效地支持大量细粒度对象的复用7、代理模式(Proxy)、
代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。
三、行为型模式
1、职责链模式(Chain of Responsibility)
职责链模式描述的请求如何沿着对象所组成的链来传递的。它将对象组成一条链,发送者将请求发给链的第一个接收者,并且沿着这条链传递,直到有一个对象来处理它或者直到最后也没有对象处理而留在链末尾端。
2、命令模式(Command)
所以命令模式将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。同时命令模式支持可撤销的操作。3、解释器模式(Interpreter)
所谓解释器模式就是定义语言的文法,并且建立一个解释器来解释该语言中的句子。
4、迭代器模式(Iterator)
所谓迭代器模式就是提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露其内部的表示5、中介者模式(Mediator)
所谓中介者模式就是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互6、备忘录模式(Memento)
所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态
8、状态模式(State)
所以状态模式就是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。
9、策略模式(Strategy)
所以策略模式就是定义了算法族,分别封装起来,让他们之前可以互相转换,此模式然该算法的变化独立于使用算法的客户。
10、模板方法模式(Template Method)
所谓模板方法模式就是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤
11、访问者模式(Visitor)
访问者模式即表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作7、观察者模式(Observer)
何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新。