zoukankan      html  css  js  c++  java
  • 模版方法模式

    • 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤
    • 应用
      • 既然用了继承,并且肯定这个继承有意义,就应该要成为子类的模版,所有重复的代码都应该上升到父类去。
    • 定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
    • 通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。
    • public abstract class Abstractclass {
      
          public abstract void PrimitiveOperation1();
      
          public abstract void PrimitiveOperation2();
      
          public void TemplateMethod() {
              PrimitiveOperation1();
              PrimitiveOperation2();
              System.out.println("");
          }
      }
      
      
      public class ConcreteClassA extends Abstractclass {
          @Override
          public void PrimitiveOperation1() {
              System.out.println("具体类A方法1的实现");
          }
      
          @Override
          public void PrimitiveOperation2() {
              System.out.println("具体类A方法2的实现");
          }
      }
      
      
      
      public class ConcreteClassB extends Abstractclass {
          @Override
          public void PrimitiveOperation1() {
              System.out.println("具体类B方法1的实现");
          }
      
          @Override
          public void PrimitiveOperation2() {
              System.out.println("具体类B方法2的实现");
          }
      }
      
      
      public class TestUtil {
      
          public static void main(String[] args) throws CloneNotSupportedException {
      
              Abstractclass abstractclass = new ConcreteClassA();
              abstractclass.TemplateMethod();
              Abstractclass abstractclass1 = new ConcreteClassB();
              abstractclass1.TemplateMethod();
      
      
          }
      }
  • 相关阅读:
    11 改进版通过队列实现一个生产者消费者模型
    13 精进版SVIP版通过队列实现一个生产者消费者模型
    12 再次改进版通过队列实现一个生产者消费者模型
    31 进程
    join方法
    30 进程 线程
    进程传参方式和创建方式2
    设计模式 单例模式
    设计模式 抽象工厂模式
    设计模式 简单工厂模式
  • 原文地址:https://www.cnblogs.com/fatRabbit-/p/10193607.html
Copyright © 2011-2022 走看看