(创建型模式)FACTORY——简单工厂模式
来源:互联网 发布:arr数组怎么转化成json 编辑:程序博客网 时间:2024/06/05 11:58
一、意图
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory使一个类的实例化延迟到其子类。(四人团)
实际上: 工厂模式主要就是用于创建对象。新添加类时,不会影响以前的系统代码。
二、基本思想
核心思想:是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。
客户类和工厂类分开,消费者任何时候需要某种产品类对象,只需要向工厂类(有静态成员函数接收)提交参数和请求即可。消费者无需修改(直接用所有产品共同的父类指针指向)就可以接纳和使用新产品类的对象。
三、优缺点分析
GOOD: 适用于不同情况创建不同的类时
BAD: 客户端必须要知道基类和工厂类,耦合性差,而且当产品修改时,工厂类也要做相应修改(如:如何创建及如何向客户端提供)
四、UML实例图
注意点:(工厂类与基类为关联关系)
五、示例源码
1: (工厂类与基类为关联关系)
2: 例:
3: //基类
4: class COperation
5: {
6: public:
7: int m_nFirst;
8: int m_nSecond;
9: virtual double GetResult()
10: {
11: double dResult=0;
12: return dResult;
13: }
14: };
15: //加法
16: class AddOperation : public COperation
17: {
18: public:
19: virtual double GetResult()
20: {
21: return m_nFirst+m_nSecond;
22: }
23: };
24: //减法
25: class SubOperation : public COperation
26: {
0 0
- (创建型模式)FACTORY——简单工厂模式
- 设计模式 (四)——简单工厂模式(Simple Factory,创建型)
- 创建型模式之简单工厂模式(Simple Factory )
- 设计模式-创建型-简单工厂模式(Static Factory)
- Factory模式(工厂模式 创建型)
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
- JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
- JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
- 简单工厂模式(Simple Factory Pattern(静态工厂方法模式)对象创建型模式)
- ABSTRACT FACTORY(抽象工厂)—对象创建型模式
- 创建型模式——简单工厂模式(Simple Factory Pattern)
- (创建模式)简单工厂模式simple factory
- 设计模式 I ——简单工厂模式(Factory)
- 创建型模式--简单工厂模式(Simple Factory)
- 设计模式学习(创建型模式)—工厂方法模式(Factory Method)
- 设计模式学习(创建型模式)—抽象工厂模式(Abstract Factory)
- 创建型模式—简单工厂模式
- hdu_5690_All X(找循环节)
- Eclipse+NDK 环境配置
- django框架从零开始_011_测试view
- iOS学习笔记之七--图片的移动
- 精度问题
- (创建型模式)FACTORY——简单工厂模式
- Object Following for UAV(无人机物体跟随)
- 利用VisuAlgo通过动画学习算法和数据结构
- 欢迎使用CSDN-markdown编辑器
- 参数估计:贝叶斯思想和贝叶斯参数估计
- 单一职责原则(SRP)
- swift+tableview+数据展示
- Codevs 1081 线段树练习 2(线段树&&树状数组&&分块)
- Swift学习第六枪-UIButton和UILable