疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

java模板设计模式之基于组合实现


 

        基于组合的方式实现模板设计:

  Java代码

  /**

  * 基于组合实现模板设计模式

  * @author Administrator

  *

  */

  public class CombineTemplate {

  //链接数据库

  public void beginConnection(){

  System.out.println("conn success");

  }

  //关闭数据库的链接

  public void closeConnection(){

  System.out.println("close success");

  }

  /**

  * 调用方法,传入一个钩子函数的接口

  */

  public void execute(CallBack back){

  this.beginConnection();

  back.doInTemplate();

  this.closeConnection();

  }

  /**

  * 将要实现的方法创建在模板中

  * 添加

  */

  public void add(final int id){

  this.execute(new CallBack(){

  public void doInTemplate() {

  System.out.println("add:"+id);

  }});

  }

  /**

  * 删除

  * @param id

  */

  public void delete(final int id){

  execute(new CallBack(){

  public void doInTemplate() {

  System.out.println("delete:"+id);

  }});

  }

  }

  回调(钩子):

  Java代码

  package com.svse.combinetemplate;

  /**

  * 接口

  * @author Administrator

  *

  */

  public interface CallBack {

  public void doInTemplate();

  }

  具体的实现类:

  Java代码

  package com.svse.combinetemplate;

  /**

  * 基于组合实现设计模式,实现具体的功能

  * @author Administrator

  *

  */

  public class ExtendCombineTemplate {

  private CombineTemplate ct = new CombineTemplate();

  public void add(int id){

  ct.add(id);

  }

  public void delete(int id){

  ct.add(id);

  }

  }