美文网首页程序员
面试官:java模板设计模式讲下 程序员:内心慌的一笔啊

面试官:java模板设计模式讲下 程序员:内心慌的一笔啊

作者: java云帆 | 来源:发表于2019-03-25 23:43 被阅读0次

程序员、java语言、软件开发、编程、吐槽

面试官:java模板设计模式讲下

程序员:内心慌的一笔啊,平时开发用了模板模式了

但根本没总结,现在面试脑袋一片空白基础准备

java匿名内部类

接口、抽象

回调函数模板模式

就是把样板代码分离出来

具体业务逻辑代码利用回调函数,匿名内部类方式

通俗:模板就是定义一个框架,比如盖楼房,我们定义一个模板:房子要封闭,有门,有窗等等,但是具体要什么样的门,具体什么样的窗,这些并不在模板中具体描述,模板就定义接口或抽象,这个交给子类来具体实现完善,比如门使用程序汪牌防盗门,安安牌门窗等等。代码案例

回调函数

也就是具体子类需要实现的内容,一般业务代码就这么几个活要子类干

这里我设计了一个抽象类实现回调函数

为了方便具体子类不用每个方法必须实现,如有些子类就验证和执行方法就完了

没必要实现后置方法或最终方法

模板方法

定义了一个接口,注意这里入参就是回调函数

具体模板类

入参回调函数,然后利用回调函数的方法把具体模板逻辑搭建起来

客服端代码

实例化模板类,然后调用模板的核心execute方法

注意这里的入参对象是抽象回调类

具体业务这个匿名类去实现就行

总结

模板模式,一般就是前置验证、执行业务、后置验证

模板模式里可以统一打印入参出参日志

模板模式里可以统计每个业务的耗时情况

大家可以根据具体业务增加回调函数的方法,一般可以把业务的名称属性设置下,这样日志打印出具体业务的情况

这里代码我写的比较复杂,可以省去那个抽象回调函数,还可以把回调函数类放到模板类中,定义成一个内部类场景

一般Controller层都可以用模板模式,这样日志、耗时、异常返回信息都可以分离到模板中统一实现了

远程rpc接口

其实需要大量重复样板代码的地方都可以考虑下用模板模式

Spring事务就是经典的模板模式的应用TransactionTemplateTransactionTemplate源码

注意也是回调函数加模板类思路

他的样板代码就是执行逻辑,回滚、提交等动作

java 模板模式核心

一个模板类加回调函数

“我自己是一名老程序员,辞职后在线上做讲师,今年我整理了一份适合2019年学习的Java编程资料干货,从最基础的面向对象到各种框架都有整理,送给每一位初学和进阶中学习Java编程的小伙伴。"

加QQ群:730379855(招募中)

相关文章

网友评论

    本文标题:面试官:java模板设计模式讲下 程序员:内心慌的一笔啊

    本文链接:https://www.haomeiwen.com/subject/mbpdvqtx.html