我们先看工厂模式的介绍
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
简单来说,使用了C++多态的特性,将存在继承关系的类,通过一个工厂类创建对应的子类(派生类)对象。在项目复杂的情况下,可以便于子类对象的创建。
工厂模式的实现方式可分别简单工厂模式、工厂方法模式、抽象工厂模式,每个实现方式都存在优和劣。
1、简单工厂模式
假想你是一个温州鞋老板,资金不多,代理做各种鞋子,例如:耐克,阿迪, 李宁 。
ShoesFactory
是你的工厂,有3条生产线,负责生产这3种鞋子 NiKeShoes\AdidasShoes\LiNingShoes
。人手少,你得负责这3条生产线的管理,把你抽象成一个鞋子类 Shoes
。
代码如下:
#include
using namespace std;
// 鞋子抽象类
class Shoes
{
public:
virtual ~Shoes() {}
virtual void Show() = 0;
};
// 耐克鞋子
class NiKeShoes : public Shoes
{
public:
void Show()
{
std::cout
关注
打赏