摘要: bstract factory:为创建相互关联(风格类似)的一系列的对象提供了一个通用接口,而不需要指定具体的类(产品)名。
factory method:定义一个用来创建对象的接口,并让子类来决定实例化哪一个具体的类(产品),从而让具体类的实例化延迟到子类。
他们的主要区别在于,abstract factory强调的是把诺干个产品按照风格进行分类, 为相同风格的一系列对象(产品)提供一个工厂类,因此,只要改变工厂类的实例,就能到达改变这一组产品的风格和外观。而这一风格的产品的生产可以利用工厂方法来实现. 这其中, factory method强调的则是先在父类实现创建对象的行为,具体的行为或者具体对象(产品)的实例化则延迟到子类实现。
阅读全文