关闭

设计模式__工厂模式

标签: 工厂模式设计模式c++新手完整可运行代码
241人阅读 评论(0) 收藏 举报
分类:

您需要一辆什么类型汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。

#include<iostream>
using namespace std;

class Shap
{
public:
    virtual void draw()=0;
};


class Rectangle : public Shap
{
public:
    void draw()
    {
        cout << "show rectangel" << endl;
    }
};


class Triangle :public Shap
{
public:
    void draw()
    {
        cout << "show triangle" << endl;
    }
};


class shapFactory
{
public:
    Shap* getShap(string shapType);
};


Shap* shapFactory::getShap(string shapType)
{
    if (shapType == "RECT")
    {   
        return new Rectangle();//此处内存未释放,在下面释放(工厂只管生产产品)
    }
    else if (shapType == "TRIANGLE")
    {
        return new Triangle();
    }
    else
        return NULL;
}


int main()
{
    shapFactory myFactory;
    Shap * myrect = myFactory.getShap("RECT");
    if (myrect)
    {
        myrect->draw();
        delete myrect;  //释放内存
        myrect = NULL;
    }
    system("pause");
    return 0;
}

1
0
查看评论

j2ee常用的设计模式?说明工厂模式

Java中的23种设计模式:Factory(工厂模式),Builder(建造模式),Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式),Adapter(适配器模式),Bridge(桥梁模式), Composite...
  • v_fei
  • v_fei
  • 2007-11-28 09:36
  • 1319

设计模式(一) 工厂模式 五种写法总结

转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52703280本文出自:【张旭童的博客】系列开篇瞎BB设计模式相关的文章学习与总结,一直有意为之,一直又觉得时机不到。一 是怕自己代码经验还不够,学习了也不懂,强行理解没有意义。二 是怕...
  • zxt0601
  • zxt0601
  • 2016-10-12 16:47
  • 13967

大话设计模式—工厂模式

一、简介工厂模式主要是为创建对象提供了接口。工厂模式按照《Java与模式》中的提法分为三类: 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 这三种模式从上到下逐步抽象,并且更具一般性。还有一种分类法...
  • lmb55
  • lmb55
  • 2015-05-31 14:42
  • 1149

调侃《HeadFirst设计模式》之工厂模式(一)

今天我们再次跟随《HeadFirst设计模式》的脚步,
  • sinat_23092639
  • sinat_23092639
  • 2015-04-11 21:23
  • 1833

软件设计模式——简单工厂模式(Simple Factory)

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构...
  • Jungle_hello
  • Jungle_hello
  • 2016-04-13 21:40
  • 639

23种设计模式—之简单工厂模式

简单工厂模式(SimpleFactory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 2.模式...
  • JavaWebRookie
  • JavaWebRookie
  • 2015-11-06 13:46
  • 2286

golang设计模式之简单工厂模式

1. 写在前面在面向对象的编程语言中(如java,C++)设计模式的概念广为人知, 应用的也非常广泛。设计模式让我们的代码变得灵活起来,具有很强的扩展性。但在与C语言比肩的Go语言中,设计模式的概念并没有十分突出,甚至很少听到。在Go的开发中,借鉴design pattern的理念同样回味无穷我们的...
  • Jeanphorn
  • Jeanphorn
  • 2017-08-31 23:15
  • 2139

【设计模式】HeadFirst设计模式(四):工厂模式

设计模式要求我们不应该针对实现编程,为了降低耦合度,提高可维护性。当程序中出现“new”的时候,就证明程序在实例化一个具体类,所以用的是实现,而不是接口。如果代码绑着具体的类会导致代码更加脆弱,缺乏弹性。 紧接着我们设计模式一种的“模拟鸭子”这个事件: Duck duck = new Mallar...
  • u010800530
  • u010800530
  • 2015-05-31 22:47
  • 1011

设计模式之三:工厂方法模式—多态工厂的实现

简单工厂的严重问题: 当系统中需要引进新产品时,静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,违背了开闭原则 引入工厂方法模式: 针对不同的产品提供不同的工厂 定义: 定义一个用于创建对象的接口,让子类决定将 哪一个类实例化,工厂方法迷失让一个类...
  • wujunwen
  • wujunwen
  • 2016-09-22 15:25
  • 695

简单工厂设计模式的好处

简单工厂:单独的,创建对象,返回对象。 在一个方法中创建好对象,调用此方法即根据传入参数可获得到不同需求的对象,我曾纳闷为什么要单独创建对象,为什么不直接new对象使用? 唉,好处就在这儿,咋想想方法吧,为什么要设计方法? 方法是一片代码的封装,集合,方法中写好一片代码,你需要此方法的功能时...
  • Java_Dmz
  • Java_Dmz
  • 2017-09-02 13:58
  • 231
    个人资料
    • 访问:11980次
    • 积分:462
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:3篇
    • 译文:0篇
    • 评论:6条
    最新评论