简单工厂类
来源:互联网 发布:div中调用js函数 编辑:程序博客网 时间:2024/06/07 06:57
工厂类;
定义一个类来负责创建其他类的实例,被创建的实例通常有共同的接口,有共同的父类。简单的工厂类实际是根据传入工厂类的参数来动态决定创建那个产品类。比如建筑工厂,能产生水泥、砖块,钢筋。当需要水泥时,工厂就产出水泥。在这种工厂类中要有必要的判断逻辑,能根据外部的信息决定究竟创建那个具体类的对象。这种设计思想类似于类的动态联编,即在程序执行时根据输入的信息由父指针来动态的创建子类的对象。但是不难发现工厂类的缺点。由于工厂类集中了创建所有实例对象的逻辑代码,这种高内聚的方法做的并不好。当系统中具体类的产品不断增多是,工厂类就要做相关的修改,而这却违背了设计模式中最基本的“开-——闭”原则。在“开——闭”原则中要求对于类的修改是关闭的,类的扩展是开放的。具体工厂类的实例代码如下例:
#include<iostream>#include<iomanip>using namespace std;class Animal{public:virtual void cry()=0;};class bird:public Animal{public:virtual void cry(){cout<<"叽叽喳喳"<<endl;}};class lion:public Animal{public:virtual void cry(){cout<<"吼吼"<<endl;}};class Factory{public:Animal *pe;Factory(){}Animal* CreatObject(int a){switch(a){case 1:return new bird;break;case 2:return new lion;break;default:break;}}};int main(){int i;Factory fa;Animal *an=NULL;while(cin>>i&&i){an=fa.CreatObject(i);if(i==1||i==2)an->cry();if(i==1||i==2)delete an;}return 0;}
- 学习简单工厂类
- 简单工厂类
- 简单工厂类
- 简单工厂类
- 简单工厂类
- 简单工厂/工厂/抽象工厂模式(创建类)
- c++简单的工厂类
- 设计模式---简单类工厂
- 类简单工厂模式-笔记
- 简单工厂,工厂,抽象工厂
- 简单工厂、工厂、抽象工厂
- 简单工厂、工厂、抽象工厂
- 简单工厂类实现简单四则运算
- 工厂模式-简单工厂
- 简单工厂 静态工厂
- 工厂模式-简单工厂
- 工厂 > 简单工厂
- 简单工厂,工厂方法
- Android底层和中间层共同学习系列之android键盘映射
- 华为宣布加入Tizen协会并表示计划用此系统开发手机
- Nokia N9 更新升级到PR1.2,很喜欢文件夹功能
- 网状结构的“数据”区域
- LINUX下串口通信开发
- 简单工厂类
- android:添加usb键盘+按键布局和映射的修改
- IOS Frameworks
- Linux设备驱动学习-Davinci开发板上 运行的hello-driver模块
- 使用Deinstall专用工具删除Oracle Database
- Android onTouchEvent, onClick及onLongClick的调用机制
- Android_使用ActivityGroup来切换Activity和Layout
- CDN
- 解析Java对象的equals()和hashCode()的使用