设计模式:
一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)
常见23种模式概述:
(1) 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
(2) 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。
(3) 桥梁模式(Bridge):将抽象部分与他的实现部分分离,使他们都可以独立的变化。
(4) 建造模式(Builder):将一个复杂对象的构建与他的标表示分离,使同样的构建过程可以创建不同的表示。
(5) 责任链模式(Chain of Responsibility):为解除请求的发送者和接收者之间耦合,而使多个对象都有几乎处理这个请求。将这些对象连成一条链,并沿着这条链传递给请求,知道有一个对象处理他。
(6) 命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排列或记录请求日志,以及支持可取消的操作。
(7) 合成模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。
(8) 装饰模式(Decorator):动态地给一个对象添加一些额外的职责。就扩展功能而言,他能生成子类的方式更为灵活。
(9) 门面模式(Facade):为子系统中的一组接口提供一个一致的界面,门面模式定义了一个高层接口,这个接口使得这一子系统更加容器使用。
(10) 工厂方法(Factory Mehtod):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。
(11) 享元模式(Flyweight):运用共享技术以有效地支持大量细粒度的对象。
(12) 解释器模式(Interpreter):给定一个语言,定义他的语法的一种表示,并定义一个解释器,该解释器使用该表示解释语言中的句子。
(13) 迭代子模式(Iterator):提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。
(14) 调停者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式的内部表示。
(15) 备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。
(16) 观察者模式(Observer):定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于他的对象都得到通知并自动刷新。
(17) 原始模型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这个原型创建新的对象。
(18) 代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。
(19) 单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问他的全局访问点。
(20) 状态模式(State):允许一个对象在其内部状态改变时改变他的行为。对象看起来似乎修改了他所属的类。
(21) 策略模式(Strategy):定义一系列的算法,把他们一个个封装起来,并且使他们可相互替换。本模式使得算法的变化可独立使用他的客户。
(22) 模板模式(Template Mehtod):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
(23) 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的做。该模式可以实现在不改变各元素的类的前提下定义作用于这些元素的新操作。
分享到:
相关推荐
基于Java的设计模式理解与实现.pdf
这个文档中有几种设计模式,是我自己总结出来的,希望对大家有用处呀。
基于Java的设计模式理解与实现
.net 设计模式详细介绍以及案例代码,初学者和设计模式只是欠缺者必备。
● 在整个项目中需要一个共享访问点或共享数据,例如一个Web页面上的计数器,可以不用把每次刷新都记录到数据库中,使用单例模式保持计数器的值,并确保是线程安全的;
最简单的理解设计模式,设计模式对比学习,设计模式特性分析
比较全面的介绍了,java的设计模式.帮助你的理解.
设计模式分享会 关于集中常见的设计模式理解
设计模式你值得拥有
LABVIEW程序开发
设计模式02 设计模式03-创建型模式 设计模式04-创建型模式2 设计模式05-建造者、原型模式 设计模式06-适配器、桥接、组合模式 设计模式07-组合模式、装饰模式 设计模式09-外观模式、享元模式 设计模式10-代理模式、...
关于23种设计模式的有趣见解 让你轻松理解设计模式,提高开发效率
写完了Interpreter模式之后,我习惯性的看看下一天的安排,却陡然发现GoF的23个设计模式的解析已经在我不经意间写完了。就像在一年前看GoF的《设计模式》一书,和半年前用C++模拟、实现23种经典的设计模式一般,透过...
设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想...
本系统基于六种设计模式,运用到的设计模式有备忘录模式,简单工厂模式,迭代器模式,状态模式,模版方法模式,单例模式。...使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式
二十三种设计模式,用一种通谷易懂,幽默风趣的方式,用生活话的语言,为您讲解二十三种 设计模式的应用原理
《深入浅出设计模式》总结了许多系统软件在设计开发过程中的难点,力图将设计模式的实际应用与实现原理有机结合起来,破解软件开发人员在学习设计模式过程不能透彻理解并灵活运用设计模式的难题。 所有章节都是先...
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化。创建型模式 : 通常和对象的创建有关,涉及到对象实例化...