zoukankan      html  css  js  c++  java
  • 设计模式之模板方法

    2019-06-17  09:12:51

    模板方法 (Template Method)

    什么是模板方法:定义一个操作中算法的骨架(稳定),而将一些步骤的具体实现(变化)延迟到子类中。使子类可以不改变(复用)一个算法的结构(顶层逻辑),即可重定义该算法的某些特定步骤。

    模板方法的组成:抽象父类:模板方法、基本方法(抽象、钩子、具体方法);  具体子类:实现父类中的抽象方法。

    适用性:一个操作步骤中,既有稳定的部分,又有变化的部分。通过模板方法可以隔离变化。

    public abstract class TemplateMethod{
      //模板方法
      public void templateMethod{
        method1(); //基本方法
        method2();
        method3();
      }
      //抽象方法,在子类中实现(变化)
      protected abstract void method1();
    
      //钩子方法,在子类中扩展
      protected abstract void method2(){}
    
      //具体方法,已经在抽象类中实现  (稳定)
      private final void method3(){
        ………… //具体实现
      }
    }
    /*使用模板方法*/
    public class ConcreteTemplate extends TemplateMethod{
      //实现父类中的抽象方法
        @Override
        public void method1() {
            //业务相关的代码
        }
        @Override
        public void method2() {
            //业务相关的代码
        }
    }
    
    /*用例*/
    public static void main(String[] args){
         //实例化子类
         TemplateMethod operation = new ConcreteTemplate();
         //调用模板方法
         operation.templateMethod();     
    }        
  • 相关阅读:
    非模式窗体和模式窗体(转
    一次性帮你解决毕业论文的所有排版问题
    c# Wndproc的使用方法
    ref和out 转
    c# 基本语法(转)
    U盘装/虚拟光驱 装双系统
    U盘启动盘 装系统
    Hibernate查询条件封装对象Expression介绍 Hi
    asp.net实现 gridview 鼠标单击任意字段选中一行 ,并获取数据 Hi
    C#如何取出非公共成员 Hi
  • 原文地址:https://www.cnblogs.com/youzoulalala/p/11037993.html
Copyright © 2011-2022 走看看