
HeadFirst设计模式C++实现
文章平均质量分 85
rabbit729
这个作者很懒,什么都没留下…
展开
-
Head First 设计模式 C++实现-Strategy(策略模式)
转贴地址:http://blog.youkuaiyun.com/NE_Team/archive/2008/07/21/2685689.aspx模式定义:定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。个人见解:基本上所有的模式都是在体现oo的一个设计原则,弱关联(其中之一)。书上介绍了一个例子,是关于鸭子的,总体的问题是过多的运用转载 2008-12-05 10:56:00 · 1120 阅读 · 0 评论 -
HeadFirst设计模式C++实现-AbstractFactory模式
定义: 抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不是要明确指定具体类。作用: 抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道实际产出的具体产品是什么。这样一来,客户就从具体的产品被解耦。UML图: 注:此处只给出部分图代码实现: /**********************************************原创 2009-02-17 10:26:00 · 1464 阅读 · 0 评论 -
Head First设计模式C++实现-Factory模式
定义: 工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 作用: 将创建对象的代码集中在一个对象或方法中,可以避免代码中的重复,并且更方便以后的维护。这也意为着客户在实例化对象时,只会依赖于接口,而不是具体类。这遵循了实现针对接口编程,而不针对实现编程的原则。可以让代码更具有弹性,可以应对未来的扩展。UML结构图如下:原创 2009-02-13 22:01:00 · 1735 阅读 · 0 评论 -
Head First设计模式C++实现-Singleton模式
定义: 单件模式确保一个类只有一个实例,并提供一个全局访问点。 由于该模式的结构很简单,所以此处不再给出UML图,需要注意的是在下面实现代码中给出的一个多线程控制的类可以在其他代码中借鉴。关于该模式的实现还可以参考下面两个链接的实现,里面给出了更加完美的实现。 1. http://www.kuqin.com/design-patterns/20071113/2300.html原创 2009-02-17 21:34:00 · 1161 阅读 · 0 评论 -
Head First设计模式C++实现-Decorator模式
#ifndef DECORATOR_H_#define DECORATOR_H_#include using namespace std;class Beverage{public: virtual string GetDescription() { return "Unknown Beverage"; }原创 2008-12-04 22:02:00 · 1125 阅读 · 0 评论 -
Head First设计模式C++实现-Command模式
定义: 命令模式将“请求”封装成对象,以便试用不同的请求,队列或者日志来参数化其他对象。命令模式也可支持可撤销的操作。UML图:程序实现:/************************************************************************/ /* Command.h原创 2009-02-22 16:13:00 · 2624 阅读 · 0 评论 -
转一篇Decorator模式的讲解文章
感觉这篇文章讲的挺有意思的,转贴地址: http://www.cnblogs.com/Blackie/archives/2006/04.html DECORATOR中文的意思是装饰,该模式的动机是帮助对象动态的添加一些功能。它强调是为对象而不是为类添加功能。为类添加功能最有效的方式是通过继承来实现,但继承的缺点是不够灵活。下面我们还是通过例子来理解该模式。 十年生死两转载 2009-03-17 22:47:00 · 1157 阅读 · 0 评论