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

Posted Java技术栈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的模板设计模式,太实用了!相关的知识,希望对你有一定的参考价值。


顾名思义,模板设计模式就是将许多公用的常用的代码封装成一个模板,我们只需要实现不同的业务需求的代码,然后和模板组合在一起,那么就得到完整的逻辑。

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

假设一个场景,有一段代码如下所示:
public void doSomething(){
    固定代码片段
        
    业务相关代码

    固定代码片段
}
是用继承的方式实现:创建一个模板类,将模板代码封装:
 
   
   
 
public abstract class Templet {

  public void doTemplet(){
    System.out.println("固定代码片段");
    
    //业务逻辑代码
    doSomething();
    
    System.out.println("固定代码片段");
  }
  
  public abstract void doSomething();
}
我们需要使用模板的类只需要继承这个模板类,并实现那个抽象方法,那么在调用doTemplet的时候,调用的业务逻辑代码自然就是我们那个子类中的实现了,这样就能实现不同的逻辑使用同一段代码了。
关注微信公众号:Java技术栈,在后台回复:设计模式,可以获取我整理的 N 篇最新设计模式教程,都是干货。
使用回调的方式实现,首先我们定义一个较为通用的接口:
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就是一个典型的模板设计模式。

来源:my.oschina.net/u/3441184/blog/916670

- END -
推荐阅读:
1、
2、
3、
4、
5、
关注 Java技术栈 公众号在后台回复: Java ,可获取一份栈长整理的最新 Java 技术干货。

点击「阅读原文」和栈长学更多~

以上是关于Java中的模板设计模式,太实用了!的主要内容,如果未能解决你的问题,请参考以下文章

十条实用的jQuery代码片段

如何在导航抽屉活动模板中的片段之间传递字符串变量

JAVA模板方法设计模式(从现实生活角度理解代码原理)

测绘程序设计Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版

测绘程序设计Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版

Eclipse 中的通用代码片段或模板