工厂方法(Factory Method)模式-- 摘自《java与模式》

工厂方法模式是类得创建模式,又叫虚拟构造函数模式或者多态性工厂(Polymorphic Factory)模式。用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。






抽象产品角色仅仅作为具体产品角色提供一个共同的类型而已,故可以用一个标识接口实现,即该接口是没有声明任何方法的。

客户端只需声明抽象工厂和抽象产品的变量即可,然后new具体的工厂和产品


工厂方法返还的应当是抽象类型,而不是具体类型,只有这样才能保证针对产品的多态性。换言之,调用工厂方法的客户端可以针对抽象编程,依赖于一个抽象产品类型,而不是具体产品类型。

工厂对象应当有一个抽象的超类型。换言之,应当有数个具体工厂类作为一个抽象超类型的具体子类存在于工厂等级结构中。如果等级结构中只有一个具体工厂类得话,那么抽象工厂角色也可以省略。



猜你喜欢

转载自xuzhike.iteye.com/blog/1067614