简单工厂模式,把创建类(class)的任务交给工厂
本章你内容
1. 工厂模式" title="简单工厂模式">简单工厂模式简介
2. 简单工厂模式UML图像
3. 简单工厂模式案例源码
4. 简单工厂模式优缺点分析
5. 思考
1. 简单工厂模式简介
1.1 基本概念
工厂: 具体类的生产中心,用于构建具体类;
具体类:实现确定或者不确定任务的类对象;
抽象类:具体类的抽象存在,所有实例所共有的公共接口。
2. 简单工厂模式UML图像
抽象类:水果
具体类:苹果,香蕉,鸭梨
工厂:水果工厂
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