理论
java中设计模式【模板设计模式】,大家精力主要看后面的例子案例,理论回头在看也行。
1. 模板设计模式在书中定义:
定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。
通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。
关键字“骨架”和“肉”,喜欢看字少的开发,看这行。【我理解的理论】
模板模式玩的就是“骨肉分离”,哈哈好惨啊。
学习目标
- 会在Spring项目中运用模板模式
- 能看懂框架中模板模式
Spring代码例子
java后端的软件开发工程师们,例子来了
注意本例子比你书本的例子难点点,加了些“作料”【泛型和回调函数】
模板设计模式的核心类就这么多,现在一个个分析下,最后老规矩运行看效果
先回调接口
默认回调实现
泛型不懂的,不影响看逻辑
模板方法的接口,注意这里有"作料"泛型方法
最核心的类,模板类【我喜欢叫他骨架类】,业务的共性逻辑封装好了,后续不用天天改啦
异常类我就不细说了,简单就异常码、描述2个参数。
BaseBizResult也简单就封装了下返回结果
这是client类,具体实现逻辑的地方
具体长“肉”的地方,回调函数非常的妙
spring配置
client注入下
运行效果
java软件开发,controller模拟调用下【我真的跑起来了】
心得
- 用回调函数是解决模板模式子类非常多的缺点
- 代码复用就是模板模式的优点,符合“开闭原则”
- 看懂骨架在哪里,肉又在哪里,基本能理解模板模式的,觉得我写的不好可以去看看Spring里的事务模板源码
- 我还写了2篇设计模式的文章,请看 , ,出去面试还是项目实战都可以的。
閱讀更多 程序汪汪 的文章