设计模式

来源:互联网 发布:淘宝直通车基础 编辑:程序博客网 时间:2024/05/19 00:36
创建型

工厂模式:根据类型,创建不同的类对象。

抽象工厂模式:抽象出类创建工厂。

Builder模式: 在工厂模式里,我们无需关心产品的各部分是如何被创建的;但在Builder模式里,会把产品的创建过程抽象为多个部分。也就是说,工厂模式被关注的是整个产品,而Builder模式被关注的是产品的组成部分的创建过程。
原型模式:克隆一个类。
单件模式:只创建一个类的对象。

结构型

适配器模式:

桥接模式:

组合模式:

装饰模式:动态地给一个对象添加一些额外的职责。
外观模式:

享元模式:使用共享的方式节约内存的使用,可以支持大量细粒度的对象。
代理模式:代理另一个类的创建。

行为型

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。
命令模式:通过命令模式,通过在客户端和具体的命令之间添加一层Invoker,剪断了客户端和具体服务提供者之间的耦合,降低了两者之间的耦合度,同时也增加了灵活性.
解释器模式:解释器模式(Interpreter)定义了一个类体系,用于实现一个小型语言的解释器。它与组合模式很相似,而且常常利用组合模式来实现语法树的构建。
迭代模式:提供一种方式,使得算法和容器可以独立的变化,而且在访问容器对象的时候不必暴露容器的内部细节。
中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
备忘录模式:不停保存类的状态,如果需要,可以恢复到以前的状态。
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
状态模式:允许一个对象在其内部状态改变时改变它的行为。
策略模式:简单工厂模式是实现对象的多样性,而策略模式适合类中的成员以方法为主;简单工厂模式只能解决对象创建问题,对于经常变动的算法应使用策略模式。

模板方法模式:
Visitor模式:双分派,其实所谓的双分派也只不过是指:要定义一个操作,需要两个对象来决定,这两个对象是Element对象和Visitor对象,例如ElementA对象接受VisitorA对象和接受VisitorB对象的执行结果是不一样的。

原创粉丝点击