分类: Java
2011-11-17 10:01:23
抽象工厂:
抽象工厂模式可以像客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象。
抽象工厂模式涉及角色:
抽象工厂,具体工厂,抽象产品,具体产品.
抽象工厂:
担任这个角色是工厂方法模式的核心,它是与应用程序无关的,任何在模式中创建对象的工厂类必须实现这个接口。
这个角色使用抽象java 类实现。
具体工厂:
担任这个角色是实现了抽象工厂接口的具体java类,具体工厂角色含有与应用密切相关的逻辑,并且受到应用程序的调用以创建产品对象。
抽象产品:
工厂方法模式所创建对象的超类型,也就是产品对象的共同父类或共同拥有的接口。
具体产品:
抽象工厂模式所创建的任何产品对象都是某一个具体产品类的实例。
抽象工厂模式与工厂模式的最大区别在于:
工厂模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。
抽象工厂模式包括多个工厂方法,从而能面对多个产品等级结构。抽象工厂模式是工厂方法的进一步扩展。