设计模式--笔记
2013-07-22 15:39
225 查看
简单工厂模式(提供一个工厂类,根据需要的功能来决定生成一个具体子类并会以父类(可能是接口)的形式返回)
优点:降低客户端与服务端的耦合。新增一个实现类的时候并不需要在客户端改代码实例化,可以直接通过服务端的工厂类来实例化
策略模式(定义一系列算法,他们的返回值都一样,处理方法不同(策略不同),这边给出一个统一的入口来调用,并不用关心怎么实现的,减少算法类与是用算法类之间的耦合。建议可以用工厂模式来决定生成哪一种)
优点:简化单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。
缺点:
抽象工厂模式(提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类)
优点:
易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,如果要更改具体工厂只需要修改产品配置。
它让具体的创建实例过程于客户端分离,客户端只需要调用抽象接口来操作实例,产品的具体类名也被具体工厂实现闭包。
缺点:
如果要增加需求的话,会要在工厂类增加新类的接口方法,会修改原始代码冒一定风险。
优点:降低客户端与服务端的耦合。新增一个实现类的时候并不需要在客户端改代码实例化,可以直接通过服务端的工厂类来实例化
策略模式(定义一系列算法,他们的返回值都一样,处理方法不同(策略不同),这边给出一个统一的入口来调用,并不用关心怎么实现的,减少算法类与是用算法类之间的耦合。建议可以用工厂模式来决定生成哪一种)
优点:简化单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。
缺点:
抽象工厂模式(提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类)
优点:
易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,如果要更改具体工厂只需要修改产品配置。
它让具体的创建实例过程于客户端分离,客户端只需要调用抽象接口来操作实例,产品的具体类名也被具体工厂实现闭包。
缺点:
如果要增加需求的话,会要在工厂类增加新类的接口方法,会修改原始代码冒一定风险。
相关文章推荐
- 设计模式(Design Patterns)笔记之Builder模式 yakuu(原作)
- 设计模式学习笔记之五:单例模式的多种实现及优缺点比较
- 设计模式(1)-创建型-单件(Singleton)模式 (个人笔记)
- 设计模式笔记系列
- Java设计模式笔记之组合模式
- 设计模式学习笔记之-命令模式
- 笔记:Gof设计模式--Flyweight
- 设计模式学习笔记-状态模式
- JAVA并发设计模式学习笔记(一)—— JAVA多线程编程
- 【设计模式】学习笔记13:组合模式(Composite)
- 笔记:Gof设计模式--Strategy
- [设计模式笔记]一. 创建型模式-- 1.Simple Factory模式(二)
- 设计模式学习笔记(十)——Decorator装饰模式
- 设计模式笔记十四:责任链模式
- 设计模式学习笔记(十七)——Command命令模式
- 设计模式笔记(三)—— 策略模式
- JAVA设计模式笔记整理(四)
- 设计模式理解(个人笔记)
- 设计模式学习笔记——单例模式
- Head First_设计模式_学习笔记_第01章_策略模式