C++设计模式之-工厂模式的总结

Posted wxmwanggood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++设计模式之-工厂模式的总结相关的知识,希望对你有一定的参考价值。

工厂模式分为3种,即简单工厂模式、工厂方法模式、抽象工厂模式,其实大同小异,总结下来就是:

简单工厂模式:一个工厂,多个产品。产品需要有一个虚基类。通过传入参数,生成具体产品对象,并利用基类指针指向此对象。通过工厂获取此虚基类指针,通过运行时多态

 

 1 // Factory.cpp : 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 #include <iostream>
 6 #include <string>
 7 using namespace std;
 8 class Product
 9 {
10 public:
11     virtual void show() = 0;
12 };
13 class Product_A:public Product
14 {
15 public:
16     void show() override
17     {
18         cout<<"Product_A"<<endl;
19     }
20 };
21 class Product_B:public Product
22 {
23 public:
24     void show() override
25     {
26         cout<<"Product_B"<<endl;
27     }
28 };
29 class Factory
30 {
31 public:
32     Product* create(int i)
33     {
34         switch(i)
35         {
36         case 1:
37             return new Product_A;
38             break;
39         case 2:
40             return new Product_B;
41             break;
42         default:
43             break;
44         }
45     }
46 };
47 
48 int _tmain(int argc, _TCHAR* argv[])
49 {
50     Factory *factory = new Factory();
51     factory->create(1)->show();
52     factory->create(2)->show();
53     system("pause");
54     return 0;
55 }

 

,调用子类实现。

以上是关于C++设计模式之-工厂模式的总结的主要内容,如果未能解决你的问题,请参考以下文章

C++之工厂(factory)模式

设计模式之工厂模式C++实现

设计模式之工厂模式C++实现

设计模式之抽象工厂模式(C++)

设计模式之抽象工厂模式(C++)

设计模式之工厂模式(C++)