模板方法模式
2018-05-17 本文已影响0人
jjjjxd
本质:统一子类方法的实现步骤,定义算法的骨架,实现步骤中相同的部分,将有变化的部分推迟到子类实现

实现Deal接口的抽象类,定义好了算法骨架,并将执行步骤中部分方法实现(已标注)。将deal方法推迟到子类实现

MyDeal子类集成抽象类,实现模板方法

具体使用:

在项目中也是用到了模板方法,如下:
项目中用的框架是自己搭的一套基于Spring和Dubbo的并封装成jar包,其中Dubbo服务接口统一实现父接口Iprovider,暴露excute()和excuteObject()方法

实现Provider接口具体抽象类



【删除了部分代码】,其中doExecute(request)方法为模板方法,由具体系统实现
