设计模式---策略模式
2016-04-06 22:20
351 查看
设计模式---策略模式
1、定义
策略模式将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并使他们可以相互替换,从而导致客户端程序独立于算法的改变。2、设计原则
找出应用中变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起面向接口编程,而不是面向实现编程
多用组合,少用继承
3、策略模式的实现
1、通过分离变化得出的策略接口Strategy2、Strategy的实现类
3、客户程序中有一个Strategy
4、在客户程序中选择/组装正确的Strategy实现
4、优点
1、使用了组合,使架构更加灵活2、富有弹性,可以较好的应对变化(开-闭原则)
3、更好的代码复用性(相对于继承)
4、消除大量的条件语句
5、缺点
1、客户代码需要里了解每个策略实现的细节2、增加了对象的数目
6、适用场景
1、许多相关的类仅仅是行为的差异2、运行时选取不同的算法变体
3、通过条件语句在多个分支中选取一
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树