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