小工厂:
Factory 为工厂的基类,有一个纯虚函数factoryMethod();
Product为产品的基类,在这里什么也没给出。
通过继承,产生了两个子类FristFactory和FristProduct。
在这里FristFactory这个小工场值生产FristProduct。
Product* FristFactory::factoryMethod()
{
return new FristProduct;
}
大工厂模式,先要进行产品的注册,这样每次就会对工厂的代码就行修改,违反了开闭原则。
Product* FristBigFactory::factoryMethod(int i)
{
if (i == 1) {
return new FristProduct;
}
else {
return NULL;
}
}
在这里以int类型来作为标识符。