设计模式-----(Factory pattern)

原创 2007年09月13日 22:38:00

//Factory Pattern
#include <iostream>
#include <string>
using namespace std;
 
class Product
{
public:
    ~Product()
    {
    }
    virtual void Show() const=0;
protected:
    Product()
    {
       //cout<<"Product构造函数"<<endl;
    }
 
};
 
class CreateProductA:public Product
{
public:
    CreateProductA()
    {
       cout<<"创建产品A"<<endl;
    }
    ~CreateProductA()
    {
 
    }
    void Show(void) const
    {
       cout<<"显示产品A"<<endl;
    }
};
 
class CreateProductB:public Product
{
public:
    CreateProductB()
    {
       cout<<"创建产品B"<<endl;
    }
    ~CreateProductB()
    {
 
    }
    void Show(void) const
    {
       cout<<"显示产品B"<<endl;
    }
};
 
class Factory
{
public:
    ~Factory()
    {
 
    }
    virtual Product * CreateProduct(char Data) =0;
protected:
    Factory()
    {
 
    }
};
 
class ConcreteFactory:public Factory
{
public:
    ConcreteFactory( )
    {
 
    }
    ~ConcreteFactory()
    {
 
    }
    Product * CreateProduct(char Data)
    {
       switch(Data)
       {
       case 'A':
           return new CreateProductA();
       case 'B':
           return new CreateProductB();
       default:
           return 0;
       }
    };
 
};
 
int main(void)
{
    Factory *fac=new ConcreteFactory();
 
    Product *proA=fac->CreateProduct('A');
    proA->Show();
 
    Product *proB=fac->CreateProduct('B');
    proA->Show();
 
    return 0;
}
 
 

设计模式 - 抽象工厂模式(abstract factory pattern) 详解

抽象工厂模式(abstract factory pattern) 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/270916...
  • u012515223
  • u012515223
  • 2014年05月26日 16:52
  • 2173

设计模式 - 工厂模式(factory pattern) 详解

工厂模式(factory pattern) 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27081511 工厂方法模式: ...
  • u012515223
  • u012515223
  • 2014年05月26日 14:58
  • 2470

JAVA设计模式之 简单工厂模式【Simple Factory Pattern】

一、概述 er、适用场景
  • l416112167
  • l416112167
  • 2014年10月18日 21:48
  • 2650

Android设计模式之一个例子让你彻底明白工厂模式(Factory Pattern)

提出疑问这几天研究工厂模式的时候,看到网上的一些文章中举的例子我就很疑惑,我相信这也是许多人的疑惑:工厂模式的功能就是创建实例,我们创建实例直接new不就完了吗,干嘛还得再封装一层工厂类,然后用工厂类...
  • nugongahou110
  • nugongahou110
  • 2015年12月29日 13:36
  • 6221

设计模式之工厂模式(Factory Pattern)用C++实现

工厂模式(Factory Pattern):这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。它定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子...
  • z702143700
  • z702143700
  • 2015年04月10日 19:26
  • 492

Python实现设计模式--02.工厂模式(Factory Pattern)

《设计模式》涉及到创建类的几种模式,共同的也是最根本的原则就是:不要new 对象!!!既然如此,告诉我你最先想到的是如何得到对象呢?没错,“你不让我new,那你给我个get对象的工具吧,别的我不管”。...
  • boy_vansun
  • boy_vansun
  • 2017年07月26日 00:36
  • 161

设计模式总结之Factory Method Pattern(工厂方法模式)

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。...
  • cooldragon
  • cooldragon
  • 2016年08月11日 00:44
  • 1278

Java设计模式之工厂方法模式【Factory Method Pattern】

工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的...
  • Lixuanshengchao
  • Lixuanshengchao
  • 2016年05月04日 21:27
  • 969

设计模式——抽象工厂模式(Abstract Factory)

要想正确的理解设计模式,首先必须明确它是为了解决什么问题而提出来的。 抽象设计模式概念:         针对抽象工厂这个设计模式,我查找了不少资料,感觉只有涉及产品级别和产品族的才是理解了抽象工厂设...
  • u012909091
  • u012909091
  • 2014年08月02日 16:52
  • 3600

设计模式:工厂模式(Factory Pattern)

工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。 (1)普通工厂模式 接口类,用于定义总的类型public interface Human { ...
  • A_finder
  • A_finder
  • 2015年09月25日 17:21
  • 148
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式-----(Factory pattern)
举报原因:
原因补充:

(最多只允许输入30个字)