首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

创造型模式之工厂模式(Factory Pattern)C++实现*

2012-07-15 
创建型模式之工厂模式(Factory Pattern)C++实现******工厂模式(Factory Pattern)创建型模式.解决:如何将实

创建型模式之工厂模式(Factory Pattern)C++实现******

工厂模式(Factory Pattern)创建型模式.

解决:如何将实例化具体类的代码从应用中抽离,或封装起来,使它们不会干扰应用的其他部分.

专门负责创建各类对象的新对象叫做”工厂”.工厂处理创建对象的细节.

简单工厂模式不是一种模式,只是一种编程习惯.有的人直接把它当作”工厂模式”.

我们需要提供一个对象创建对象的接口,并在子类中提供其具体实现(因为只有在子类中可以决定到底实例化哪一个类)。其最重要的是延迟了子类的实例化。

工厂方法模式通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。工厂模式的组成部分:

创建者类:Creator这是抽象创建者类,它定义了一个抽象的工厂方法,让子类实现此方法制造产品。相当于PizzaStore

产品类:工厂生产产品,对PizzaStore来说,产品就是Pizza.

设计原则:1.依赖抽象类,不依赖具体类

         2.变量不可以持有具体类的引用,如果使用new,就会持有具体类的引用。改用工厂方法避开这样的做法。

          3.不要让类派生自具体类。

          4.不要覆盖基类中已经实现的方法。

HeadFirst中的比萨店例子,根据区域的不同开始不同口味的比萨店。

类图:

创造型模式之工厂模式(Factory Pattern)C++实现*


C++实现


Product.h头文件: