设计模式
tanhaiyuan
这个作者很懒,什么都没留下…
展开
-
状态模式
意图允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。应用场景uu类图参与者Context定义客户感兴趣的接口维护一个ConcreteState子类的实例,这个实例定义当前状态State(状态)定义一个接口以封装与Context的一个特定状态相关的行为ConcreteS原创 2013-11-21 16:41:30 · 758 阅读 · 0 评论 -
模板方法模式(Template method)
意图定义一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。应用场景uu类图参与者AbstractClass定义抽象的原语(PrimitiveOperation),具体的子类将重定义它们以实现一个算法的各步骤实现一个模板方法,定义一个算法骨原创 2013-11-25 11:21:39 · 937 阅读 · 0 评论 -
装饰模式(Decorator)
意图动态的给一个对象添加一些额外的职责。Decorator模式添加功能比生成子类更为灵活。类图参与者Component定义一个对象接口,可以给这些对象动态地添加职责ConcreteComponent定义一个对象,可以个这个对象添加一些职责Decorator维持一个指向Component对象的指针,并定义一个与Compo原创 2013-11-21 17:17:31 · 1045 阅读 · 0 评论 -
代理模式(Proxy)
意图 为其他对象提供一种代理以控制对这个对象的访问。类图参与者Proxy:Subject:定义RealSubject和Proxy的共用接口。RealSubject:定义Proxy所代表的实体作用:代理根据其种类,在适当的时候向RealSubject转发请求代码#include iostream>using name原创 2013-11-21 17:14:30 · 896 阅读 · 0 评论 -
适配器模式(Adapter)
意图将一个类的接口转换成客户希望的另一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作类图对象适配器类适配器参与者Target: 定义Client使用的特定领域的接口Client :与符合Target接口的对象协作Adaptee:定义一个已存在的需要适配的接口原创 2013-11-21 17:09:33 · 1008 阅读 · 0 评论 -
设计模式学习阶段
照着书上的例子,将此模式记住。一字一字的读模式意图,同时想模式的实现, 更深的领悟发现不同模式的相同点发现不同模式相同点的不同点原创 2013-11-21 16:55:34 · 860 阅读 · 0 评论 -
外观模式(Facade)
意图为子系统中的一组接口提供一个一致的界面。定义了一个高层接口,这个接口使得这一子系统更加容易使用应用场景实现平台无关性。跨平台跨库的函数调用。同一个接口去读取不同的资源。硬件自动识别处理系统。类图参与者Facade知道哪些子系统类负责处理请求将客户的请求代理给适当的子系统对象Subsystem原创 2013-11-21 17:22:05 · 1164 阅读 · 0 评论 -
组合模式(Composite)
意图将对象组合成树形结构以表示"部分-整体"的层次结构。使得用户对单个对象和组合对象的使用更具有一致性。类图 参与者Component为组合中的对象声明接口在适当的情况下,实现所有类共有接口的缺省行为。声明一个接口用于访问和管理Component的子组件(可选)在递归结构中定义一个接口,用于访问一个父部原创 2013-11-21 17:19:45 · 940 阅读 · 0 评论 -
桥接模式(Bridge)
意图将抽象部分与它的实现部分分离,使它们都可以独立的变化应用场景类图参与者Abstraction定义抽象的接口。维护一个指向Implementor类型对象的指针。RedefineAbstraction扩充由Abstraction定义的接口Implementor定义实现类的接口,该接口可以与Abstracti原创 2013-11-21 17:11:33 · 1107 阅读 · 0 评论 -
单例模式(Singleton)
http://www.cnblogs.com/wangjq/archive/2012/06/28/2561250.html 设计模式学习笔记-单例模式http://www.cnblogs.com/ykt/archive/2011/11/24/2261251.html [读书笔记] 单例模式的几种实现方式《漫谈设计模式》一: 概述保证一个类仅有一个实例原创 2013-11-21 16:52:08 · 830 阅读 · 0 评论 -
建造者模式
一: 概述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。通俗点说: 二 演化过程方法1: 要保证一个类仅由一个实例,可以在调用处判断类对象是否为空, 如果空就创建对象,否则就不创建。 三: 模式解读1 类图 2 要点参与者:Builder 为创建一个原创 2013-11-21 16:43:42 · 791 阅读 · 0 评论 -
策略模式 状态模式 比较
策略模式类图状态模式类图 类图是一样的。但是这两个模式的差别在于它们的意图。 状态模式中,我们将一些行为封装在状态对象中,context的行为随时可以委托到那些状态对象中的一个。context的内部状态在状态对象集合范围内变化,context的行为也会随着内部状态变化而变化。但是context的客户端对于状态对象的了解原创 2013-11-26 13:26:31 · 1417 阅读 · 0 评论