财商书苑
全民财商训练提升,认真负责我们的每句话

工厂方法模式-JAVA

JAVA中的迭代器(Iterator)是使用工厂方法的一个经典范例,通过iterator()方法就可以获取一个Iterator对象,但我们却不知道这个对象是由哪个类实例化的。

不过,并不是每个能创建并返回一个新对象的方法,都是工厂方法模式。工厂方法模式不仅需要能创建一个新对象,并且使得客户端无需了解具体实例化的类。

即:工厂方法的目的是让服务的提供者决定实例化哪个类,而不是客户端代码。

设计图如下(PowerDesigner):

工厂方法模式-java

工厂方法模式-java

简单工厂(不在23中设计模式中)、工厂方法、抽象工厂区别
简单工厂:一般使用静态方法,增加一个产品,必须修改已有代码,即:switch添加一个case分支。
工厂方法:在同一等级结构中,支持增加任意产品,即:增加一个产品,而无需修改已有代码。
抽象工厂:应对产品族的概念,增加新的产品线很容易(即:无需修改已有代码),但无法增加新的产品。

使用PowerDesigner打开 工厂方法模式设计模式图 ,点击[Language]–>[Generate Java Code…] 即可生成本文中用到的代码。

赞(0)
未经允许不得转载:财商书苑-全民财商训练提升 » 工厂方法模式-JAVA

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址