您当前的位置: 首页 >  c++

小林coding

暂无认证

  • 2浏览

    0关注

    167博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++ 深入浅出工厂模式(进阶篇)

小林coding 发布时间:2019-09-15 21:25:59 ,浏览量:2

介绍

前文初始篇C++ 深入浅出工厂模式(初始篇),主要阐述了简单工厂模式、工厂方法模式和抽象工厂模式的结构、特点和缺陷等。以上三种方式,在新增产品时,要么修改工厂类,要么需新增具体的工厂类,说明工厂类的封装性还不够好。

本文进阶篇,主要是将工厂类的封装性提高,达到新增产品时,也不需要修改工厂类,不需要新增具体的工厂类。封装性高的工厂类特点是扩展性高、复用性也高。

模板工厂

针对工厂方法模式封装成模板工厂类,那么这样在新增产品时,是不需要新增具体的工厂类,减少了代码的编写量。

UML图:

模板工厂

模板工厂代码:
  • ShoesClothe,分别为鞋子和衣服的抽象类(基类)
  • NiKeShoesUniqloClothe,分别为耐克鞋子和优衣库衣服具体产品类。
// 基类 鞋子
class Shoes
{
public:
    virtual void Show() = 0;
    virtual ~Shoes() {}
};

// 耐克鞋子
class NiKeShoes : public Shoes
{
public:
    void Show()
    {
        std::cout             
关注
打赏
1659932071
查看更多评论
0.0515s