-
一、单例
一个类只能创建唯一一个对象
利用限制构造、static完成
-
二、工厂模式
优势:规范接口(纯虚函数);实现多态(虚函数表);继承
-
1、简单工厂
一个工厂创建所有产品。
返回基类指针可以创建不同的派生类,实现不同功能。
1、产品基类(设计):抽象类
2、派生具体的产品A类(设计)
3、派生具体的产品B类(设计)
4、工厂类 (生产)
注意:纯虚函数被派生类实现完后即为虚函数,当基类指针指向派生类对象时,当基类指针调用虚函数时即调用的是派生类虚函数;当基类指针调用普通函数时,即调用的是基类函数。
-
2、工厂方法模式(生产简单产品)
不同工厂创建不同产品。
1、产品基类 抽象类 (产品属性)
2、派生具体的产品A类
3、派生具体的产品B类
4、工厂类 抽象类 (生产方式)
5、具体的工厂类A
6、具体的生产类B
-
3、抽象工厂模式(生产复杂产品)
1、产品基类 抽象类 (产品属性)
2、派生具体的产品A类
3、派生具体的产品B类
4、工厂类 抽象类 (生产方式)
5、具体的工厂类A
6、具体的生产类B