首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

java设计形式(抽象工厂模式)

2012-10-14 
java设计模式(抽象工厂模式)之前的3种工厂模式中,核心都是工厂类,一个工厂类承担了所有产品的创建工作,如

java设计模式(抽象工厂模式)
  之前的3种工厂模式中,核心都是工厂类,一个工厂类承担了所有产品的创建工作,如果产品的树形结构需要扩展,就必须在工厂类中为新增的产品增加创建功能,这显然违背了开闭原则----在扩展时不能够修改原来的代码。
  为了解决这个问题,我们可以采用抽象工厂模式,即建立与产品类等级相似的工厂等级结构,为每一个产品都提供一个具体的工厂类。

  首先创建一个工厂类的接口,它提供了一个接口方法produce()用来创建一个产品,代码如下:

  ●抽象工厂模式父类



  ●何时使用抽象工厂模式
  根据以上的扩展讲解可知,抽象工厂适用于产品结构多变或有可能扩展的产品创建中,但实际上,我们大多数的程序都需要给未来的维护留下有扩展的余地,这才符合开闭原则。所以大多数时候,我们都会采用抽象工厂模式。当然这并不表示普通的工厂方法没有适用的场景,如果产品结构比较固定也比较简单,则可以使用,就好比上一节中Swing的工厂BorderFactory所示。

热点排行