设计模式---策略模式
来源:互联网 发布:更改电脑无线mac地址 编辑:程序博客网 时间:2024/06/05 02:46
设计模式---策略模式
1、定义
策略模式将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并使他们可以相互替换,从而导致客户端程序独立于算法的改变。2、设计原则
找出应用中变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起面向接口编程,而不是面向实现编程多用组合,少用继承3、策略模式的实现
1、通过分离变化得出的策略接口Strategy2、Strategy的实现类3、客户程序中有一个Strategy4、在客户程序中选择/组装正确的Strategy实现4、优点
1、使用了组合,使架构更加灵活2、富有弹性,可以较好的应对变化(开-闭原则)3、更好的代码复用性(相对于继承)4、消除大量的条件语句5、缺点
1、客户代码需要里了解每个策略实现的细节2、增加了对象的数目6、适用场景
1、许多相关的类仅仅是行为的差异2、运行时选取不同的算法变体3、通过条件语句在多个分支中选取一
0 0
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- 设计模式------策略模式
- 设计模式--策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 排序算法java版
- A smattering of knowledge of Scanner
- .Net 多语言 与资源文件
- JVM重要内存区域
- C++模板计数排序
- 设计模式---策略模式
- socket: bind函数
- java微信开发API解析(三)-高级功能的前奏----获取以及保存接口调用凭证
- 在VIM中进行文本替换
- 【matlab】:matlab中把文件夹里面的图片连接成视频的一段代码
- 线程中的死锁
- (现在没用上。以后说不准)android TextView的超链接形式
- 【NOIP2015模拟11.2】复制&粘贴2
- 字符串变量String的常用操作