策略模式与简单工厂模式
来源:互联网 发布:宝鸡大数据产业园 编辑:程序博客网 时间:2024/05/17 04:54
1,简单工厂模式
a) 有一个抽象的接口用来表示工厂需要生产的产品共性;然后各个具体的产品类实现该抽象接口。
b) 工厂只需要持有产品的抽象接口,工厂接收一个 TYPE 参数来决定生产何种产品。
c) 对于客户而言,当他需要某种类型的产品时,只需要获得工厂对象,然后将产品的 TYPE参数传递给工厂,由工厂创建他所需要的产品。
2,策略模式
策略,本质上是一种算法。当客户需要处理某件事情时,由于所处的环境不同,他可以采取不同的方式(策略)去处理。因此,客户关注的是如何方便得获取所需的策略。
a) 有一个抽象的接口用来表示策略的框架,它定义了基本的处理算法。然后各个具体的策略实现该接口来扩充、实现相应的具体策略。
b) 有一个Context类来表示环境,Context拥有抽象的策略接口,它根据 TYPE参数来决定使用哪个策略。
c) 对于客户而言,当他需要使用某种策略时,肯定所处在某个Context上下文环境中,他传递一个TYPE参数给Context,由Context来负责使用何种策略。
3,简单工厂模式与策略模式的比较
①策略模式与简单工厂模式的结构图基本一致,因此,二者的使用模式基本一致。
②简单工厂模式的目的是创建对象,并使用所创建的对象去做事情(需要持有对象的引用);策略模式的目的是使用策略,即客户只关注我需要某种策略,你提供一个给我,我拿着该策略完成任务就行了(不需要持有策略的引用)。
③策略模式是定义一系列算法的方法,这些算法以不同的方式完成相同的工作,即算法的实现不同。策略模式让客户以统一的方式来调用不同的算法,将算法的使用者与算法解耦。
④简单工厂模式定义如何获得产品的方法,不同的产品具有不同的功能,简单工厂模式解决了客户如何有效地获取他所关心的产品。对客户而言,只需要持有一个工厂对象,给工厂一个产品的类型参数,让工厂负责生产相应的产品即可。然后,客户就拿着这个产品,进行方法调用,获得相关的产品的功能。
- 简单工厂与策略模式
- 简单工厂与策略模式
- 策略模式与简单工厂模式
- 简单工厂模式与策略模式
- 策略模式与简单工厂模式
- 策略模式与简单工厂模式
- 设计模式:简单工厂与策略模式
- 简单工厂模式、策略模式与工厂方法模式
- 策略模式:策略模式与简单工厂模式的异同
- 策略+简单工厂模式
- 策略模式+简单工厂
- 简单工厂与策略模式的区别
- 简单工厂与策略模式的结合
- 策略模式与简单工厂结合
- 简单工厂模式 & 策略模式
- 简单工厂模式&策略模式
- 策略模式 + 简单工厂模式
- 简单工厂模式 & 策略模式
- oracle数据同比的时候除数为0该怎么处理
- Android actionBar兼容版本的使用
- 链接脚本学习
- SSH:Struts1框架(采用struts上传文件)
- myeclipse jar包
- 策略模式与简单工厂模式
- AAC音频格式分析与解码
- Alcatraz 使用教程
- android 新手错误
- 哈希表(HashMap)分析及实现(JAVA)
- 如何判断文件的编码方式
- NO.3 函数调用之简单计算器程序
- 输入设备驱动之按键设备驱动_笔记
- ListControl控件绘制网格线