小工厂:函数
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