设计模式--笔记

  • 简单工厂模式(提供一个工厂类,根据需要的功能来决定生成一个具体子类并会以父类(可能是接口)的形式返回)
    • 优点:降低客户端与服务端的耦合。新增一个实现类的时候并不需要在客户端改代码实例化,可以直接通过服务端的工厂类来实例化
  • 策略模式(定义一系列算法,他们的返回值都一样,处理方法不同(策略不同),这边给出一个统一的入口来调用,并不用关心怎么实现的,减少算法类与是用算法类之间的耦合。建议可以用工厂模式来决定生成哪一种)
    • 优点:简化单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。
    • 缺点:
  • 抽象工厂模式(提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类)
    • 优点:
      • 易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,如果要更改具体工厂只需要修改产品配置。
      • 它让具体的创建实例过程于客户端分离,客户端只需要调用抽象接口来操作实例,产品的具体类名也被具体工厂实现闭包。
    • 缺点:
      • 如果要增加需求的话,会要在工厂类增加新类的接口方法,会修改原始代码冒一定风险。
posted @ 2013-07-22 15:39  hhhyde  阅读(108)  评论(0编辑  收藏  举报