设计模式学习(一)策略模式
来源:互联网 发布:无人机飞控系统编程 编辑:程序博客网 时间:2024/06/05 04:10
(what)什么是策略模式【定义】?
对算法(策略)进行封装,让调用方能很方便的切换不同的算法(策略)。
(how)怎样使用策略模式【原理】?
直接上代码:
【总结】
(when)什么时候使用【场景】?
当需求中需要给同一对象(客户/产品)制定一系列的规则(算法/策略)时,可以将这些同一纬度的规则单独封装起来,并聚合到调用者(上下文)内部来进行调用。
(why)为什么要用策略模式【设计原则】?
1. Identify the aspects of your application that vary and separate them from what stays the same.
* (找到系统中变化的部分,将变化的部分同其它稳定的部分隔开。变化的部分隔离成接口,聚合到需要的程序里)【扩展性好】
2. Program to an interface, not an implementation.
* (面向接口编程,而不要面向实现编程。通过聚合、实现接口等方式)【灵活性好】
0 0
- 设计模式学习(一)策略模式
- 设计模式学习(一)、策略模式
- 设计模式学习笔记(一):策略模式
- 设计模式学习笔记(一):策略模式
- 设计模式学习总结(一)策略模式Strategy Pattern
- 设计模式学习(一)之策略模式
- java设计模式学习之(一)策略模式
- 设计模式学习笔记(一)--策略模式
- 设计模式(一)Strategy - 策略模式
- 设计模式(一)策略模式
- Java设计模式(一) 策略模式
- 设计模式之策略模式(一)
- 设计模式----策略模式(一)
- 设计模式----策略模式(一)
- 设计模式(一)之策略模式
- 浅谈设计模式(一)策略模式
- 【HeadFirst设计模式】(一)策略模式
- 设计模式(一)策略模式
- SHA加密过程-JAVA代码测试
- 工银二维码支付,安全便捷新时代
- leetCode_Binary Tree Maximum Path Sum
- Cocos2d-JS中使用CocosStudio资源——关卡选择界面
- Jave String字符串深入
- 设计模式学习(一)策略模式
- EDID实战
- mac安装 tensorflow以及出现numpy.core.multiarray failed to import问题
- 业务安全通用解决方案——WAF数据风控
- 聊聊高并发之隔离术
- awk时间函数
- ios显示图片的方法
- log 分析wakelock
- Failed to apply plugin [id 'com.android.application'] 和 Could not find com.android.tools.build:gradl