Java 中的模板设计模式,太实用了!

用户头像
BUZHIDAO
关注
发布于: 2020 年 07 月 30 日
Java中的模板设计模式,太实用了!



在我们的日常开发中,常用的模板模式有两种实现方式:继承和接口回调,下面我们就分别使用这两种方式来实现模板设计模式。



假设一个场景,有一段代码如下所示:



public void doSomething(){    固定代码片段            业务相关代码    固定代码片段}如果这段代码在很多地方要使用,并且固定代码比较多,业务相关代码比较少,且比较集中,那么如果我们每次实现一个业务都写下一个完整的流程,那么就会有很多重复代码,使用模板设计模式可以很好的解决这一问题。



是用继承的方式实现:创建一个模板类,将模板代码封装:



public abstract class Templet {  public void doTemplet(){    System.out.println("固定代码片段");        //业务逻辑代码    doSomething();        System.out.println("固定代码片段");  }    public abstract void doSomething();}



我们需要使用模板的类只需要继承这个模板类,并实现那个抽象方法,那么在调用doTemplet的时候,调



用的业务逻辑代码自然就是我们那个子类中的实现了,这样就能实现不同的逻辑使用同一段代码了。



public interface Callback<V,T> {  public V doSomething(T t);}



我们要使用模板的测试类:



public class Test {  public static void main(String[] args) {    useTemplet("业务逻辑",new Callback<String, String>() {      @Override      public String doSomething(String t) {        return t;      }    });  }    public static void useTemplet(String str,Callback<String,String> callback){    System.out.println("固定代码");        String result = callback.doSomething(str);        System.out.println(result );        System.out.println("固定代码");  }}



这样如果还有其他的代码需要复用模板,那么直接调用useTemplet就可以了。



模板设计模式在框架的设计中使用比较多,例如springmvc的view就是一个典型的模板设计模式。



用户头像

BUZHIDAO

关注

还未添加个人签名 2020.07.22 加入

还未添加个人简介

评论

发布
暂无评论
Java中的模板设计模式,太实用了!