设计模式之 工厂方法,工厂方法模式,抽象工厂模式

来源:互联网 发布:淘宝店铺转让合法吗 编辑:程序博客网 时间:2024/06/16 16:19

在设计模式中,有2种重要的设计模式,工厂方法模式和抽象工厂模式。要比较准确的理解他们,首先要理解一个概念“工厂方法”。


工厂方法:何为工厂方法。按照GOF所给的概念,如果一个方法能够“生产”一个对象,我们就可以把这个方法叫做工厂方法。注意,是生产,不仅仅是返回一个对象。


工厂方法模式:个人认为其更倾向于描述如何利用多态和继承,以及得到的好处。当你使用多态和继承时,你就是在使用工厂方法这种模式。更确切的说,当你在父类中有一个方法,这个方法的目的是用来创建一个对象(可以用默认实现,也可以没有),你在子类冲重载这个方法,用来创建一个具体的对象,那么这种机制就是“工厂方法模式”。
按照GOF所给的定义,工厂方法模式有其严格的形式定义,即该模式只对外(客户端)提供一个产品。


抽象工厂模式:当利用“工厂方法”的概念(重载/多态)对工厂方法模式进行扩展得到一种新的模式,使新模式能够生产一组相关或相互依赖的对象。该新的模式即为抽象工厂模式。


由此可以看出,工厂方法模式和抽象工厂模式是可以相互转化的。

0 0
原创粉丝点击