策略模式
来源:互联网 发布:网络代购图片 编辑:程序博客网 时间:2024/06/05 11:07
策略模式:定义算法族,分别封装起来,让它们之间可以相互替换,次此模板让算法的变化独立于使用算法的客户。
设计一个抽象类Duck,里面有将鸭子的两个行为分离出来的属性FlyBehavior flyBehavior; QuackBehavior quackBehavior;抽象类中有一般的方法,同时还有设置两个属性的方法。FlyBehavior具体的什么鸭子具有什么行为,然后最后在鸭子的构造函数中进行动态实现。也可以调用Duck中的两个设置函数。
主要是要学会分开变化和不变化的部分,实现接口编程,同时接口不能简化代码。它使用了一个叫做鸭子的例子:多用组合,少用继承。
其中里面使用到了软件工程中的类图的一些常用的关系:is a(继承)has a(聚合)implements(实现)。参考:http://blog.csdn.net/blues1021/article/details/45739941
最后提到了软件工程,大家可以看看软件工程中常用的开发模型:参考
http://blog.sina.com.cn/s/blog_48d66f810101ap71.html
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- "360春秋杯"线上赛 web Writeup
- 深度学习算法实践7---前向神经网络算法原理
- [Maven]详细介绍
- iplimage* 和uchar*互转,mat 和uchar*
- 迷宫城堡
- 策略模式
- STL中的二分查找,lower_bound();与upper_bound();
- java 学习笔记 继承与接口(二)
- 深度学习算法实践8---BP算法详解
- Discuz!教程之批量替换帖子中的内容
- markdown编辑器用法
- 加wheelCoillder后车体后剧烈晃动
- Python 设置 UTF8 编码 reload(sys)
- Linux中shell编程需要避免的坑之shell语法篇(三)