本文简单讲述简单工厂模式
功能 简单工厂模式 其实算不上设计模式,但是由于十分简单好用,所以经常被使用到,它是一种创建类的设计模式,对对象的创建进行的了封装
简单工厂模式也十分容易理解,就是传入一个容易理解的参数,来获取对应的复杂对象,就像工厂一样我想要什么,工厂就会给我生成什么出来
URL结构图
示例 工厂生产汽车 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #include <iostream> using namespace std;class Car {public : virtual void didi () { cout << "滴滴" << endl; } }; class SedanCar :public Car {public : virtual void didi () { cout << "滴滴 小轿车" << endl; } }; class BigTruck :public Car {public : virtual void didi () { cout << "滴滴 大卡车" << endl; } }; class CarFactory {public : Car * createCar (string carType) { if (carType == "Car" ) { return new Car (); } else if (carType == "SedanCar" ) { return new SedanCar (); } else if (carType == "BigTruck" ) { return new BigTruck (); } else { return nullptr ; } } }; int main () { Car * car; CarFactory carFactory; car = carFactory.createCar ("Car" ); car->didi (); car = carFactory.createCar ("SedanCar" ); car->didi (); car = carFactory.createCar ("BigTruck" ); car->didi (); }
这个示例里面,使用工厂类来生成具体的汽车类,可以让客户端不需要知道具体的汽车类,只需要接触工厂
END
2018-12-06 完成
2018-12-05 立项