模版方法
来源:互联网 发布:淘宝红号查询 编辑:程序博客网 时间:2024/04/25 19:32
模版方法模式
先看UML图
模版方法其实就是利用继承性,提取公共代码到极致,最大程度上减少不变代码在子类中出现,对代码最大程度上复用。一些方法的大体结构也可能保持不变,就可以想办法抽取出来,然后具体细节不同的话再交给子类去实现。打个比方,一般情况下我们考试是怎么样的,一份试卷打印好多份,然后每个人在上面填写答案。这样每一分试卷都是各自一个类,然后我们在上面写答案完成答题的操作。这样就产生了大量的重复题目。
我们想想,这是公共的代码可以提取到父类么,题目是公共的,正确答案是公共的,甚至展示在我们的形式都是一致的。还有一些我们虽然看不到,但是也是公共的,就是对分数的计算,这就算是一个算法骨架吧,获取回答答案,判断与正确答案是否相同,在把分数累加。 而这个过程中只有填写答案的细节是有变化的。
这时模版方法就像有些老师会把题目放到大屏幕上,然后每个同学仅仅实现填写答案的方法,然后交上去,老师利用计算分数的算法骨架,结合不同的实现细节也就是不同的同学的答案,得出不同的算法结果,避免学生人手一份题目造成代码冗余。
模版方法就是提供了一个很好的代码复用平台,属性很容易区分公共与私有,但是一些算法会出现不变与变化的混合,造成不变代码在子类总重复,模版方法通过将方法分离,将不变提取到父类构成方法模模版,再把变化抽象,由子类去实现,帮助子类拜托冗余代码。
0 0
- 模版方法
- 模版方法
- 模版方法基本框架
- 模版方法模式
- 模版方法模式
- 七、模版方法模式
- 模版方法设计模式
- java 模版方法模式
- 模版方法模式
- 行为型-模版方法
- 模版方法模式
- 模版方法模式
- 7.模版方法模式
- 模版方法模式
- java 模版方法模式
- 模版方法设计模式
- 模版方法模式
- java 模版方法模式
- 第一周学习日志
- GDB调试程序(七)
- Nexus 初步使用
- HDU 5365-Run(几何)
- 珠排序
- 模版方法
- ALV OO:单击事件-双击事件-自定义按钮事件(示例)
- HDU2.2.1 Fibonacci
- 在Activity的oncreate方法中如果跳转到别的activity,会发生什么
- 在Word中选择多个自选图形对象
- NYOJ--40--公约数和公倍数
- JAVA的整型与字符串相互转换
- 浅析Java中的反射机制原理
- hdu 1829