随笔分类 -  设计模式

摘要:书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑如下场景:汽车修理厂,每天都有不同品牌的汽车,出现不同的问题。但是存在共同的目的:被修理。 修理厂里有分工各不同的工程师。负责修理发动机,钣金,等等,但是作用是相同的:修理。下面把各个品牌的汽车,和各个岗位的工程师 进行抽象与实现的分离。//先定义工程师的抽象类class IEngineer{public: virtual void Dofix() = 0;};//定义负责修理发动机的工程师class CEngineer:public IEngineer{public: void Dofix() { ... 阅读全文
posted @ 2012-01-15 13:32 rookie_zw 阅读(165) 评论(0) 推荐(0)
摘要:定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法(Factory Method)使一个类的实例化延迟到其子类。也叫虚构造器(Virtual Constructor)代码如下://定义产品接口,从而可以扩展出N多系列产品,以手机为例class ISamsung{public: ISamsung(){} virtual ~ ISamsung(){} virtual void Call() = 0 ;}//定义工厂接口,用来生产不同系列的手机class IFactory{ public: IFactory(){} virtual ~ IFactor... 阅读全文
posted @ 2012-01-13 23:53 rookie_zw 阅读(120) 评论(0) 推荐(0)
摘要:从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 (copy)来看下面个例子: 1 class CSamsung 2 3 { 4 5 public: 6 7 CSamsung(){} 8 9 virtual ~CSamsung(){} 10 11 virtual void MakeCall... 阅读全文
posted @ 2012-01-13 13:22 rookie_zw 阅读(121) 评论(0) 推荐(0)