模板模式

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:12   936   0

1.模板模式的定义

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得 子类可以不改变一个算法的结构即可重定义该算法的某些特定的步骤、

2.模板模式的UML图


3.代码实现

public abstractor AbstractClass{
    public void doPrimitiveOperation1();
    public void doPrimitiveOperation2();
    public void templateMethod(){
          doPrimitiveOperation1();
          doPrimitiveOperation2();
    }
}


public class ConcreteClass extends AbstractClass{
     public void doPrimitiveOperation1(){
           System.out.println("ddddd");
     }
     public void doPrimitiveOperation2(){
         System.out.println("ddddddddd");
    }

}

public class Client{
    public static void main(String[] args){
         AbstractClass template=new ConcreteClass();
         template.templateMethod();
   }

}

模板模式与回调接口的配合使用

public interface CallBack{
     public void doPrimitiveOperation1();
     public void doPrimitiveOperation2();
}


public class Template{
   
    public void templateMethod(CallBack callBack){
          callBack.doPrimitiveOperation1();
          callBack.doPrimitiveOperation2();
    }
}




public class Client{
    public static void main(String[] args){
         Template template=new Template();
         template.templateMethod(new CallBack(){
              public void doPrimitiveOperation1(){
                       System.out.println("dddddd"); 
              }
              public void doPrimitiveOperation2(){
                   System.out.println("ddddddddddddddd");
              } 
         });
   }

}


4.模板模式的本质固定算法骨架

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP