【大话设计模式】——行为型模式总结(算法)
2014-12-30 10:37
246 查看
在上一篇博客中,我已经将行为型模式分为了四类,现在就总结一下第一类——算法,用到算法的模式包含策略模式,以及模板方法。
策略:多种算法,可以随意替换,但子类不可以重新定义算法步骤。
模板:一种算法,子类去继承并丰富,可以重新定义算法的某些步骤。
一、概念
1、Strategy
(1)官方解释
它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。(2)类图
(3)个人理解
策略就是一种方法,做一件事情有多种方法,方法之间可以进行替换,只要完成这件事就可以,顾客可以不必知道具体用的哪种方法。例如:给自行车上链,有多种方法,可以先上前边后上后边,也可以先上后边后上前边,最后的结果都是可以将自行车的链条安好。2、TemplateMethod
(1)官方解释
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。(2)类图
(3)个人理解
父类定义一个骨架,具体是什么样的,由子类去决定。例如:我们写论文,给了一个论文框架,里面的内容由自己去丰富。这就是利用了模板方法。二、比较
两者虽然都是和算法相关的,但是却有很大不同。策略:多种算法,可以随意替换,但子类不可以重新定义算法步骤。
模板:一种算法,子类去继承并丰富,可以重新定义算法的某些步骤。
三、总结
把复杂的知识变简单,只是看着是没办法变简单的,只有罗列,比较,最后再总结,才会发现其实没什么难的啊,想让它多简单就会简单,中间只差一个“做”字!相关文章推荐
- 大话设计模式-总结(4)-行为型模式二组
- 【大话设计模式】——行为型模式总结(一对多)
- 大话设计模式-总结(3)-行为型模式
- 【大话设计模式】——行为型模式总结(罗列篇)
- 常见密码算法总结--(2)分组密码加密模式
- 常见密码算法总结--(3)加密模式的openssl代码分析之cbc模式
- 设计模式学习笔记——行为型(总结)
- 学习总结-设计模式理解(1) 参考《大话设计模式》《Delphi模式编程》
- 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(五)
- 设计模式原则总结--读《大话设计模式》有感
- 行为型设计模式总结
- 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(四)
- 几种常见模式识别算法整理和总结
- 27.行为型模式总结
- 设计模式原则总结--读《大话设计模式》有感
- 常见密码算法总结--(4)加密模式的openssl代码分析之cfb模式
- 设计模式总结(1)(内容来源与大话设计模式)
- 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(三)
- 设计模式学习总结7 - 行为型2 - Command命令模式
- 三十三.设计模式总结-行为型模式