0_0 SimpleFactoryMode 简单工厂模式
生活随笔
收集整理的這篇文章主要介紹了
0_0 SimpleFactoryMode 简单工厂模式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
// 定義:由于過于簡單沒被GOF列入23種設(shè)計(jì)模式之中
//
// 模式舉例:
//
// 模式特點(diǎn):只有一個(gè)工廠,每新增一種類型都要改變工廠
// 生產(chǎn)的東西只能是衍生于同一個(gè)接口
//
//#include<iostream>
#include<string>
using namespace std;enum productType
{typeA,typeB,typeC
};class Product
{
public:virtual void showName()=0;
};class ProductA : public Product
{
public:virtual void showName(){cout <<"product name is productA"<<endl;}
};class ProductB : public Product
{
public:virtual void showName(){cout <<"product name is productB"<<endl;}
};class ProductC : public Product
{
public:virtual void showName(){cout <<"product name is productC"<<endl;}
};class SimpleFactory
{
public:Product * createProduct(productType type){Product * product = NULL;switch(type){case typeA:{product = new ProductA();}break;case typeB:{product = new ProductB();}break;case typeC:{product = new ProductC();};break;default:break;}return product;}
};int main()
{SimpleFactory * factory = new SimpleFactory();Product * product = factory->createProduct(typeA);product->showName();return 0;
}
?
總結(jié)
以上是生活随笔為你收集整理的0_0 SimpleFactoryMode 简单工厂模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1_3 SingletonMode 单例
- 下一篇: 2_5 BridgeMode.cpp 桥