您的位置:首页 > 其它

设计模式学习笔记 1.factory 模式

2014-06-09 16:30 302 查看
Factory 模式

用户不关心工厂的具体类型,只知道这是一个工厂就行。

通过工厂的实现推迟到子类里面去来确定工厂的具体类型。

工厂的具体类型来确定生产的具体产品。

同时用户不关心这是一个什么样子的产品,只知道这是一个产品

#ifndef _FACTORY_H_
#define _FACTORY_H_

#include "product.h"
class Factory
{
public:
virtual ~Factory();
virtual Product* createProduct();
protected:
Factory();
private:
};

class ConcreteFactory : public Factory
{
public:
ConcreteFactory();
~ConcreteFactory();
Product* createProduct();
protected:
private:
};

#endif //_FACTORY_H_


#include "factory.h"
#include "product.h"

Factory::~Factory()
{

}

Factory::Factory()
{

}

Product* Factory::createProduct()
{
}

ConcreteFactory::ConcreteFactory()
{

}

ConcreteFactory::~ConcreteFactory()
{

}

Product* ConcreteFactory::createProduct()
{
return new ConcreteProduct();
}


#ifndef _PRODUCT_H_
#define _PRODUCT_H_

class Product
{
public:
virtual ~Product();
protected:
Product();
private:
};

class ConcreteProduct : public Product
{
public:
ConcreteProduct();
~ConcreteProduct();
protected:
private:
};

#endif //_PRODUCT_H_


#include "product.h"
#include <stdio.h>
Product::~Product()
{

}

Product::Product()
{

}

ConcreteProduct::ConcreteProduct()
{
printf("hello I'm product\n");
}

ConcreteProduct::~ConcreteProduct()
{
}


#include "factory.h"
#include "product.h"
#include <stdio.h>

int main()
{
Product* pro = NULL;
Factory* fac = new ConcreteFactory();
if(fac)
pro = fac->createProduct();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: