每次在做功能时,都会考虑下具体的应该采用神马样的设计模式,今天索性就来整体地学习下我们常用的一些设计模式了,首先是我们的工厂模式系列,在这类模式中,主要分为了三大类:简单工厂模式,工厂方法模式以及抽象工厂模式,它们之间的不同:简单的工厂模式可以比做成一个工厂但是可以生产不同的物品,工厂模式就是不同的工厂生产不同的物件,而抽象工厂则是不同的工厂既可以生产相同的物件也可以生产不同的物件,个人的感觉就是一个比一个包含的范围广,一个比一个复杂,这个是必须的,下面我们就从最简单的开始。
1.简单工厂模式
这种模式在上面也提及到了,就是一个工厂生产不同的物件,工厂只有一个,而物件可以多个,代码如下:
#ifndef __SIMPLE_FACTORY_H #define __SIMPLE_FACTORY_H #include#include using namespace std; using namespace boost; class Object { public: virtual void showName() = 0; }; class Watch : public Object { public: void showName() { cout<<"Watch"< obj1(factory.createObject(1)); obj1->showName(); shared_ptr