简单工厂模式,把创建类(class)的任务交给工厂

class="htmledit_views">

本章你内容

 

1. 工厂模式" title="简单工厂模式">简单工厂模式简介

2. 简单工厂模式UML图像

3. 简单工厂模式案例源码

4. 简单工厂模式优缺点分析

5. 思考

 

1. 简单工厂模式简介

1.1 基本概念

工厂:  具体类的生产中心,用于构建具体类;

具体类:实现确定或者不确定任务的类对象;

抽象类:具体类的抽象存在,所有实例所共有的公共接口。

 

2. 简单工厂模式UML图像

抽象类:水果

具体类:苹果,香蕉,鸭梨

工厂:水果工厂

 

 

简单工厂模式,把创建类(class)的任务交给工厂

 

3. 简单工厂模式案例源码


#include <iostream>

class  Fruit {

public:

    virtual void getName() = 0; // 纯虚函数

};

class Apple : public Fruit {

public:

    virtual void getName() {

        std::cout << "我是苹果..." << std::endl;

    }

};

class Banana :public Fruit {

public:

    virtual void getName() {

        std::cout << "我是香蕉..." << std::endl;

    }

};

class Pear : public Fruit {

public:

    virtual void getName() {

        std::cout << "我是鸭梨..." << std::endl;

    }

};

class fruitFactory {

public:

    Fruit * createFruit(std::string name) {

        if (name == "apple") {

            return new Apple;

        }

        else if (name == "banana") {

            return new Banana;

        }

        else if (name == "pear") {

            return new Pear;

        }

    }

};

int main()

{

    fruitFactory* factory=NULL;

    Fruit* fruit = NULL;

    fruit = factory->createFruit("apple");

    fruit->getName();

    delete fruit;

    fruit = NULL;

    fruit = factory->createFruit("banana");

    fruit->getName();

    delete fruit;

    fruit = NULL;

    fruit = factory->createFruit("pear");

    fruit->getName();

    delete fruit;

    fruit = NULL;

    return 0;

}

 

4. 简单工厂模式优缺点分析

优点:

1.根据用户需求订购产品,实现了定制化消除系统资源,减轻负荷,提升性能

2. 类别新增无需修改源码。满足开闭原则

缺点:

1. 工厂的噩梦,新增加的业务使得工厂更加臃肿。

 

5. 思考

1. 建立模式,用工厂实现规模化代码生产。

 

 

 

 

以上是 简单工厂模式,把创建类(class)的任务交给工厂 的全部内容, 来源链接: utcz.com/a/66185.html

回到顶部