还是先看看图示再说,
从上图来看,实际上生成模式和简单工厂(再抽象一些可以说是抽象工厂)模式很接近。而生成模式的不同在于通过产生的“不同"对象,这些对象拥有有很多不同的方法和对象。注意看红色画圈部分。
工厂模式的基类定义子类几乎所有外部特征。子类只是完成基类的定义的实现。
生成模式的子类也要完成基类的接口,但主要是取得基类的数据对象,但它拥有更多自己的方法和对象(包括外观),比如: 当用户选择了一个客户,就会调用customerReport的SelectCustomer方法去实现下一步的动作。
相关文章: