Factory模式

来源:互联网 发布:js li 编辑:程序博客网 时间:2024/06/11 22:10
                 工厂模式有两种,一种是一个工厂只有一条流水线,只能生产一种特定的产品(小工厂);还有就是大工厂,一个工厂有好多条流水线,能够生产好多种产品,但是你接订单的时候必须要挑好流水线号,生产出相应的产品。

                  小工厂:

                  Factory 为工厂的基类,有一个纯虚函数factoryMethod();

                  Product为产品的基类,在这里什么也没给出。

                  通过继承,产生了两个子类FristFactory和FristProduct。

                  在这里FristFactory这个小工场值生产FristProduct。

                  Product*FristFactory::factoryMethod()

          {
              return new FristProduct;
          }

                   大工厂模式,先要进行产品的注册,这样每次就会对工厂的代码就行修改,违反了开闭原则。

                   Product*FristBigFactory::factoryMethod(inti)

         {
              if (i == 1) {
                  return new FristProduct;
              }
              else {
                  return NULL;
              }
          }

                   在这里以int类型来作为标识符。

                  

                 

                 

原创粉丝点击