加载中
设计模式-行为-Interpreter(解释器)模式

建立一个解释器,对于特定的语言,解释预先定义的文法。解释语言的句子。 场景1:正则表达式解释器 场景2:脚本解释器 场景3:XML解释器 解释器模式提供了一个处理的框架

2016/05/07 11:08
52
设计模式-行为-Iterator(迭代器)模式

提供一种方法顺序访问聚合对象中的各个元素,又不暴露该对象的饿内部表示。 比如STL中的各种迭代器。

2016/05/07 11:00
12
设计模式-行为-Chain of Responsibility(责任链)模式

责任链把处理请求的对象 连接为一个链,逐级传递,直到有对象处理该请求。 #include "PublicHeaders.h" #pragma once class Request { public: virtual int GetType() { return...

2016/05/07 10:40
13
设计模式-行为-Visitor(访问者)模式

问题: oop开发中经常遇到需求变更,设计好的一个系统原型,客户的新需求来了,我们不得不更改已有的饿设计,最常见的方案就是 添加新类 或 新方法 来实现需求,这样机会不停的打补丁,设计不...

2016/05/05 23:00
104
设计模式-行为-Command(命令)模式

将行为的请求者 和 执行者 解耦,从而适应像 撤销/重做 等处理需求。 实现起来也很简单,吧请求封装到一个类(Command)中,在提供处理对象(Receiver)最后由Invoke调用。 我们可以通过回调...

2016/05/04 21:43
80
设计模式-行为-Mediator(中介者)模式

对象之间的交互是很常见的需求了,如果系统非常大,对象很多,那么交互 通信起来的复杂度就大大增加了。需要 一个通信类来负责交互 这就是Meditator模式,还带来了系统间对象的松耦合 Mediat...

2016/05/04 16:20
31
设计模式-行为-Memento(备忘录)模式

又叫快照模式 捕获一个对象的内部状态,以可以还原这个对象的状态。 场景1:需要undo操作的时候,可以在操作之前备份,失败后恢复操作之前的状态 例1  #include "PublicHeaders.h" #pragma...

2016/05/04 15:29
13
设计模式-行为-Observer(观察者)模式

典型的应用就是MVC模式 定义了一对多的关系,一个对象的改变,所依赖的其他对象都将获得通知并且更新。 场景1:看电视,喜欢看这个频道的 会选择看这个频道, 场景2:类似于订阅自己关心的状...

2016/05/04 13:57
39
设计模式-行为-State(状态)模式

目的:主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。通过类来表示具体的case表达式,但这...

2016/05/03 21:29
69
设计模式-行为-Strategy(策略)模式

和Template一样的目的,只不过实现手法是组合 而不是Template模式的继承,解决了继承所带来的弊端。 问题: 为了给业务逻辑(算法)具体的实现和抽象的接口之间的解耦。 把算法 (业务逻辑)...

2016/05/03 17:08
31
设计模式-行为-Template(模板)模式

给业务逻辑(算法)具体实现和抽象接口之间的解耦 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Te m p l a t e M e t h o d 使得子类可以不改变一个算法的结构即可重定义该算法的...

2016/05/02 18:42
68
设计模式-结构-Proxy(代理)模式

访问的中间媒介。Proxy模式最大的好处就是实现了逻辑和实现的彻底解耦 远程代理 虚代理 保护代理 智能指针 结构图 class SubObject { public: virtual void Request() = 0; }; class...

2016/05/02 18:20
32
设计模式-结构-Facade(外观)模式

为各个子系统提供一个简明一致的界面,隐藏系统的饿复杂性,使子系统更加易用,是子系统一组接口的包装 class SubSystem1 { public: void Operation(){} };  class SubSystem2 { publ...

2016/05/02 17:58
15
设计模式-结构-Flyweight(享元)模式

目的:大粒度对象的共享,优化性能 场景1.游戏中大量同样的怪物,怪物皮肤,模型,名字,等级等数据都是一样的,位置 状态等不一样 Flyweight 有2个状态:内蕴(可共享的)和外蕴(不可共享的...

2016/05/02 17:13
31
设计模式-结构-Compsite(组合)模式

组合模式是一种树形递归结构 在需要用到递归构建树形的组合结构, 1.比如文件夹,文件夹里面可以有文件夹,文件,文件夹还可以有文件 文件夹 2.比如多级菜单 3.比如解析XML文件的时候 就可以...

2016/05/02 16:08
32
设计模式-结构-Decorator(装饰)模式

1.在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 2.在已知的类添加功能,如果继承来实现 那么增加了系统的复杂...

2016/05/02 15:41
10
设计模式-结构-Adapter(适配器)模式

情景1:项目中采用的第三方库和 本程序 的接口不一致,为了达到一致,可用适配器模式 情景2: 一个功能 由多个不相干的 多个功能组合而成, 适配器模式有2种类别:对象模式和 类模式 类模式:...

2016/05/02 14:55
28
设计模式-结构-Bridge(桥接)模式

目的:将抽象部分与实现部分分离,使它们都可以独立的变化。 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?这就要使用桥接模式 ...

2016/05/02 13:43
25
设计模式-创建-ProtoType(原型)模式

目的:根据现有对象为原型创建(深拷贝)一个新对象出来。 先来看看模式图 其实这个就是平时用的深拷贝问题的解决模式,通过一个接口 根据已有的对象为原型,构造一个新对象   class ProtoTy...

2016/05/02 13:36
12
设计模式-创建-Builder(建造者)模式

目的:当对象的构造很复杂,分为好几部分的时候,可以用建造者模式来处理 把一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。. 通常把一个复杂对象构建分为几个部...

2016/05/02 12:16
28

没有更多内容

加载失败,请刷新页面

返回顶部
顶部