JAVA架构师之路十四:设计模式之模板模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA架构师之路十四:设计模式之模板模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2209字,纯文字阅读大概需要4分钟。
内容图文
![JAVA架构师之路十四:设计模式之模板模式](/upload/InfoBanner/zyjiaocheng/617/338d90d9504c4885924501384b1af24a.jpg)
模板模式
没有意志,理想便是幻想。
1. 模板模式
定义
通常又叫模板模式,是指定义一个算法的骨架,并允许子类为其中的一个或者多个步骤提供实现。
模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤
属于行为设计模式
适用场景
一次性实现一个算法不变的部分,并将可变的行为留给子类实现
各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复
优点
利用模板方法将相同处理逻辑的代码放到抽象父类中,可以提高代码的复用性。
将不同的代码不同的子类中,通过对子类的扩展增加新的行为,提高代码的扩展性。
把不变的行为卸载父类上,去除子类的重复代码,提高了一个很好的代码复用平台,符合开闭原则。
缺点
类的数目增加,每一个抽象类都需要一个子类来实现,这样导致类的个数增加
类数目的增加,间接地增加了系统实现的复杂度
继承关系自身缺点,如果父类添加新的抽象方法,所有子类都要改一遍。
2. 模板模式案例
public abstract class AbstractStep {
protected final void step() {
// 第一步:
step1();
// 第二步:
step2();
// 第三步:
step3();
// 第四步:
step4();
}
protected void step4(){
System.out.println("第四步");
}
protected void step3(){
System.out.println("第三步");
}
protected void step2(){
System.out.println("第二步");
}
protected void step1() {
System.out.println("第一步");
}
}
public class StepOne extends AbstractStep {
}
public class StepTwo extends AbstractStep {
}
public class Test {
public static void main(String[] args) {
StepOne one = new StepOne();
one.step();
StepTwo two = new StepTwo();
two.step();
}
}
第一步
第二步
第三步
第四步
第一步
第二步
第三步
第四步
在抽象类AbstractStep
中定义了不可重写的方法step()
,这个方法规定了要按顺序执行的方法,子类不可以修改。如果StepOne
类只能修改其余的方法。
public class StepOne extends AbstractStep {
@Override
protected void step1() {
System.out.println("子类执行");
}
}
子类执行
第二步
第三步
第四步
第一步
第二步
第三步
第四步
这就是模板方模式。
3. JDBC模板模式
现在开发中直接操作jdbc
的少了,以前灭有mybatis
等orm
框架的时候,数据库操作增删改查
都是被封装成模板方法的。这个是模板模式的典型案例。
感谢您阅读本文,如果您觉得文章写的对您有用的话,请您点击上面的“关注”,点个赞,这样您就可以持续收到《JAVA架构师之路》的最新文章了。文章内容属于自己的一点点心得,难免有不对的地方,欢迎在下方评论区探讨,你们的关注是我创作优质文章的动力。
内容总结
以上是互联网集市为您收集整理的JAVA架构师之路十四:设计模式之模板模式全部内容,希望文章能够帮你解决JAVA架构师之路十四:设计模式之模板模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。