
设计模式
文章平均质量分 87
junguo
这个作者很懒,什么都没留下…
展开
-
乱砍设计模式之一
STRATEGY模式———赵子龙单骑救主junguo STRATEGY在中文中被译成了策略,我感觉这个意思并不妥切,但翻英文词典能得到的翻译也只有这个,我的词典比较简单,不知道是否还有其它意思?如果没有,那么我想可能和中国研制的CPU在研发阶段被定名为“狗剩”一样,它只是一个名字而已,并不能确切的代表真实的意义。经典著作《设计模式》中将策略模式定义为:定义一系列的算法,把它们一个个的封装起来原创 2006-04-02 07:53:00 · 11100 阅读 · 17 评论 -
乱砍设计模式之十
COMMAND 模式——诸葛亮造木牛流马 junguo Command模式,中文名称是命令模式。该模式的目的是将不同的请求封装成不同的对象,这样可以用来做请求队列,请求日志,以及撤销的操作。该模式的核心是把请求封装成对象,这里的请求有些不好理解,我们还是看完例子后再说这个。先看例子。 这次没找到太好的例子,只好把木牛流马改造一下来说明我们的例子。《三国演义》上介绍诸葛亮造过这样的原创 2006-04-17 20:16:00 · 6320 阅读 · 6 评论 -
乱砍设计模式之八
BRIDGE模式 —— 所谓伊人,在水一方 junguo Bridge模式的中文名称是桥接模式,该模式的目的是将抽象部分和它的实现部分分离,使它们都可以独立的变化。继续以例子来完成对该模式的学习。 蒹葭苍苍,白露为霜。所谓伊人,在水一方。 溯洄从之,道阻且长。溯游从之,宛在水中央。 蒹葭凄凄,白露未晞。所谓伊人,在水之湄。 溯洄从之,道阻且济原创 2006-04-13 23:06:00 · 6630 阅读 · 1 评论 -
抽象工厂的例子
抽象工厂没有讲明白,这里填加一个比较完整的例子.我觉得明白了抽象工厂目标是通过一个抽象工厂的子类来建立一系列同一性质的产品这点,就理解该模式了.#include #include using namespace std;class General{public: virtual void Assault() = 0;};class GirlGeneral : public Genera原创 2006-04-12 21:55:00 · 6828 阅读 · 3 评论 -
乱砍设计模式之七
VISITOR模式 —— 齐天大圣闹天宫 junguo Visitor模式的中文名称是访问者模式,该模式的目的是提供一个类来操作其它类型中的对象结构中的元素(也就是专门帮助其它类来实现原本属于它的函数)。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。是不是不明白这段话的意思?没关系,还是通过例子来理解该模式。我们先来简述一下例子。 呵呵,好不容易想到这么个土的掉渣原创 2006-04-12 20:37:00 · 6413 阅读 · 4 评论 -
乱砍设计模式之六
OBSERVER 及 ITERATOR 模式 —— 知我者谓我心忧,不知我者谓我何求 junguo Observer模式的中文译名是观察者模式,定义是:定义对象间一种一对多的关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新。COM中的连接点事实上就是一种观察者模式,COM中的连接点主要是为过程化语言提供的,如果我们使用C++调用COM组件,那么我们可以直接利用回调函原创 2006-04-10 22:29:00 · 6599 阅读 · 6 评论 -
乱砍设计模式之五
FACTORY 与 ABSTRACT FACTORY模式 —— 号令秦姬驱赵女,艳李秾桃临战场 junguo 这一次,将集中讲一下创建型模式,主要以Factory和Abstract Factory模式为主。按上次的惯例,还是以例子开始。这次的例子仍以战场和美女为例,呵呵,和战场及美女死磕上了。采用这样的例子,只是想帮助大家更好的记忆,我最简化自己的例子,以帮助大家认识模式之形。写完这个系列原创 2006-04-09 04:45:00 · 8456 阅读 · 10 评论 -
乱砍设计模式之四
COMPOSITE与BUILDER模式 —— 忠义堂石碣受天文 梁山泊英雄排座次junguo Composite模式的中文名字是组合模式,该模式的目的是使单个对象和它的对象组合(一般是数组或者链表的结构)拥有统一的操作方式,这样可以简化客户的使用。我们还是通过具体的例子来理解该模式。还是先来一段例子背景介绍: 话说,宋江带人攻陷东平东昌两郡,收降了双枪将董平和没羽箭张清,而后皇甫原创 2006-04-08 02:11:00 · 7531 阅读 · 6 评论 -
乱砍设计模式之三
DECORATOR模式———小轩窗,正梳妆junguo DECORATOR中文的意思是装饰,该模式的动机是帮助对象动态的添加一些功能。它强调是为对象而不是为类添加功能。为类添加功能最有效的方式是通过继承来实现,但继承的缺点是不够灵活。下面我们还是通过例子来理解该模式。 十年生死两茫茫,不思量,自难忘。 千里孤坟,无处话凄凉。 纵使相逢应不识,尘满面,鬓如霜。原创 2006-04-06 00:59:00 · 8033 阅读 · 9 评论 -
乱砍设计模式之二
STATE模式———履胡之肠涉胡血,悬胡青天上,埋胡紫塞旁。junguo STATE模式的中文名称是状态模式。在《设计模式》一书中的定义是:允许一个对象在其内部状态改变的时候改变它的行为。对象看起来似乎修改了它的类(中文译书上的原话,不过我觉得这句话应该翻译成——对象显现出来的是改变了它所属的类)。看了定义还是感觉有些抽象,好的,我们还是通过一个例子来学习该模式。还是先从情节设计开始:原创 2006-04-02 07:43:00 · 9250 阅读 · 16 评论 -
乱砍设计模式之零——序
乱砍设计模式之零——序 作者junguo 有时候想知道偶然会为人生带来什么样的意义?作为一个怀疑论者,我对人生充满了疑虑,对于偶然所起的作用也不是那么确定。但还是可以总结一些自己并不确定的结论。大学期间,成天旷课的我,那天偶然上了一堂软件工程课(我不是计算机专业的,我们开这堂课本身就有些古怪)。那天老师不知道是一时兴起,还是早有准备,在下课前他在黑板上原创 2006-04-02 05:29:00 · 9768 阅读 · 5 评论 -
乱砍设计模式之十一
剩余的模式 junguo FACADE(外观)模式:是为子系统中的一组接口提供一个一致的界面。该模式理解起来还是比较容易的,举个例子: class Eye{public: Draw(){}};class Mouse{public: Draw(){}};class Nose{public: Draw(){}}; 我们原创 2006-04-17 20:18:00 · 7184 阅读 · 11 评论