模板方法模式

本质:统一子类方法的实现步骤,定义算法的骨架,实现步骤中相同的部分,将有变化的部分推迟到子类实现


模板方法模式_第1张图片
Deal接口.png

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


模板方法模式_第2张图片
Deal基类.png

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


模板方法模式_第3张图片
具体子类.png

具体使用:
模板方法模式_第4张图片
main.png

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


模板方法模式_第5张图片
Provider接口.png

实现Provider接口具体抽象类

具体抽象类.png
模板方法模式_第6张图片
实现excute方法.png

模板方法模式_第7张图片
实现executeObject方法.png

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


doExecute抽象方法.png

你可能感兴趣的:(模板方法模式)