您当前的位置: 首页 >  令狐掌门 c++

C++ 工厂模式

令狐掌门 发布时间:2020-11-08 23:54:53 ,浏览量:2

我们先看工厂模式的介绍

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

简单来说,使用了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             
关注
打赏
1688896170
查看更多评论
0.0525s