zoukankan      html  css  js  c++  java
  • 模板模式

     模板方法模式(Template Method)

    定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可

    以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。


    使用场合

    1)一次性实现一个算法的不变部分,并且将可变的行为留给子类来完成。
    2)各子类公共的行为应该被提取出来并集中到一个公共父类中以避免代码

    的重复。首先识别现有代码的不同之处,并且把不同部分分离为新的操作

    ,最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。
    3)控制子类的扩展。

    模板方法模式的组成
    父类角色:提供模板

    public abstract class AbstractClass {
     public void template(){
      this.method1();
      this.method2();
      this.method3();
     }
     public abstract void method1();
     public abstract void method2();
     public abstract void method3();
    }
    子类角色:为模板提供实现。

    public class ConcreteClass extends AbstractClass {
     @Override
     public void method1() {
      System.out.println("step 1");
     }
     @Override
     public void method2() {
      System.out.println("step 2");
     }
     @Override
     public void method3() {
      System.out.println("step 3");
     }
    }

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

  • 相关阅读:
    报错:maven 程序包org.junit不存在
    Sublime Text 3
    Win10使用技巧
    CookieHelper
    log4net
    文件导出 Aspose
    C# 数字证书加载 X509Certificate2
    前后端文件上传
    WebApi 后端文件传输至远程服务器
    aspnet_regiis.exe用法(备忘非自创)
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2287488.html
Copyright © 2011-2022 走看看