4/21/2008

学习设计模式

看了 http://www.javaeye.com/topic/18648?page=1 上面的讨论,感觉挺有收获。工厂模式说到底是为了减少依赖,便于维护。用设计模式的语言来说就是依赖抽象,不要依赖具体。几种工厂模式都是用来创建对象的,有时仔细想想,似乎没什么区别,情况稍有变化,就分不清是什么工厂模式了。设计模式背后的的OO思想是一致的,我觉得最主要的就是两条:

  1. 封装变化
  2. 减少依赖

所以各种模式常常看起来有许多的相似性,这很正常。判断设计模式,有时主要看意图。

简单工厂是为了创建单一产品。如果这个产品可能有多种类型,那么就需要使用工厂方法了。再者如果需要创建多种产品,而且彼此间相互依赖或者存在联系(即不是各种产品间的自由组合)时,就是抽象工厂发挥作用的时候了。(明天继续)

没有评论: