阅读背景:

C++设计模式系列之一创建型模式

来源:互联网 

1.简略工厂模式


Factory.hpp:


#ifndef _FACTORY_HPP_
#define _FACTORY_HPP_
#include <string>

class Product
{
    public:

        virtual ~Product(){}

    protected:

        Product(){}
};

class XXProduct : public Product
{
public:

    XXProduct(){}

    ~XXProduct(){}
};

class XXXProduct : public Product
{
public:

    XXXProduct(){}

    ~XXXProduct(){}
};

class Factory
{
    public:

        Factory(){}

        ~Factory(){}

        Product* CreateXXProduct()
        {
            return new XXProduct();
        }

        Product* CreateXXXProduct()
        {
            return new XXXProduct();
        }

        //或应用枚举
        Product* CreateProduct( const char *pName )
        {
            if( strstr( pName, "XXX" ) )
            {
                return CreateXXXProduct();
            }
            else if( strstr( pName, "XX") )
            {
                return CreateXXProduct();
            }
            else
            {
                return nullptr;
            }
        }
};
#endif
#ifndef _FACTORY_HPP_
#def




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: