简单工厂
来源:互联网 发布:php bindto 编辑:程序博客网 时间:2024/05/21 00:14
简单工厂:专门定义一个类来负责创建其他类的实例。通常根据自变量的不同返回不同类的实例。
class Product{public:virtual void Show()=0;};class ProductA:public Product{public:void Show(){cout<<"product A"<<endl;}};class ProductB:public Product{public:void Show(){cout<<"product B "<<endl;}};class Factory{public:Product *CreateProduct(string type);};Product * Factory::CreateProduct(string type){if(type == "ProductA"){return new ProductA();}else if(type == "ProductB"){return new ProductB();}elsereturn NULL;}int main(){Factory factory ;Product *pa=factory.CreateProduct("ProductA");pa->Show();return 0;}
缺点:工厂类集中了所有实例的常见逻辑。
如果要添加一个ProductC,添加一个新类,还必须在Factory中的判断条件中增加一条。
0 0
- 简单工厂,工厂,抽象工厂
- 简单工厂、工厂、抽象工厂
- 简单工厂、工厂、抽象工厂
- 工厂模式-简单工厂
- 简单工厂 静态工厂
- 工厂模式-简单工厂
- 工厂 > 简单工厂
- 简单工厂,工厂方法
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- 在 Android 使用 C# 开发 iBeacons 应用
- java 读取网站的源代码
- C#实现邮件发送,可以添加附件,发件人、收件人信息从xml文件读取
- XMLHttpRequest cannot load – Origin is not allowed by Access-Control-Allow-Origin.
- Android - 优化WebView页面
- 简单工厂
- awk引用shell中变量的几种方法
- HTML 七牛上传图片
- java通过一个url读取网站的源代码 储存到本地文件中
- 【Leet Code】 242. Valid Anagram--easy
- Friendship (poj 1815 最小点割集+枚举)
- docker 数据管理
- 关于echarts动态显示数据报表相关问题
- [c++基础]typedef的作用域