--来自《设计模式:可复用面向对象软件的基础》
目的
定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类的实例化延迟到其子类。
Class Creator
{
Public:
Virtual Product* Create(ProductId id);
};
Product*Creator::Create(ProductId id)
{
If(id ==MINE) return new MyProduct();
If(id ==YOURS) return new YourProduct();
Return 0;
};