java用户模板包括一些神秘_<Java设计模式>——模板模式:常说的套路

什么是模板模式

定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的特定步骤。

标准的定义还是稍微有点苦涩难懂的, 大白话就是只要按照我的套路来,你就不会错。

生活中尽是套路

记得高中的时候,数学老师叫我们怎么求解一个数学问题:

第1步:认真审题,找出里面的已知变量和未知变量。

第2步:根据变量之间的关系创建对应的关系表达式。

第3步:通过关系式和常用的定律和公式求解未知变量。

那么这个就是咱们数学老师给咱们的套路,只要按照这个套路来,求解是没有问题的。

看看模板模式的骨架

a94ac9099d3b

火狐截图_2017-09-26T15-24-51.161Z.png

其中的run()方法,已经在父类里面实现好了,run()方法里面调用的是需要子类进行实现的方法,如上面的doAnything()和doOthering()方法,子类只要按照父类的套路,实现剩下的方法,然后调用父类的run()方法,就ok了。

模板模式的缺点

按照程序的设计习惯,一般父类都是负责抽象,子类才是真正负责实现,但是模板模式,父类里面也是有具体的实现的方法,并且子类的执行结果影响父类的执行结果,在代码阅读上面,可能会有些不适

注意事项

父类中有的具体实现,不需要子类进行重写的话,已经要使用final进行修饰,以此来禁止子类的不规范重写,导致最终的执行结果发生异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值