Factory模式

                 工厂模式有两种,一种是一个工厂只有一条流水线,只能生产一种特定的产品(小工厂);还有就是大工厂,一个工厂有好多条流水线,可以生产好多种产品,可是你接订单的时候必需要挑好流水线号,生产出相应的产品。

                  小工厂:函数

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

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

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

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

                  Product* FristFactory::factoryMethod()it

 {
 return new FristProduct;
 }

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

                   Product* FristBigFactory::factoryMethod(int i)new

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

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

相关文章
相关标签/搜索