----模板设计模式加回调函数-----
背景
spring框架中存在大量优秀的设计,如事务处理TransactionTemplate就是模板模式加回调函数的设计实现。复杂的业务逻辑也可以借鉴这种优秀的设计思路,来解决项目代码混乱不可维护问题。
学习目标
看懂spring中模板模式加回调函数思想的源码;
能在项目实战中灵活运用模板模式加回调函数的优秀设计;
spring源码分析
----模板设计模式加回调函数-----
----模板设计模式加回调函数-----
----模板设计模式加回调函数-----
这里如果不用callback回调函数,那模板类抽象方法会变多,导致子类必须都要实现这些接口,代码回变的非常臃肿,而回调函数优雅的利用匿名内部类来解决这类问题,代码就这么解耦了。
----模板设计模式加回调函数-----
UML类图加强理解下
java应用代码举例
----java模板设计模式加回调函数-----
----java模板设计模式加回调函数-----
1
核心模块方法process说明
/**
* 通用的业务代码都可以写这,如异常日志的特殊处理、公共验证什么的、
性能日志、构造通用的上下文参数等
* 有了他,程序员就告别了【样板代码乱飞】,并符合java设计原则【开闭原则】
**/
回调类定义在模板类中
----java模板设计模式加回调函数-----
UML类图加强理解下
----java模板设计模式加回调函数-----
优点
- 模板模式有利于清除样板代码;
- 回调函数有利于业务类与模板类解耦;
如果觉得对你有帮助请关注收藏转发,有错误请指点,欢迎来交流
閱讀更多 程序汪汪 的文章