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

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

     示意图代码如下:

    1 public abstract class AbstractClass {
    2     public abstract void primitiveOperation1();
    3     public abstract void primitiveOperation2();
    4     
    5     public void templateMethod(){
    6         primitiveOperation1();
    7         primitiveOperation2();
    8     }
    9 }
    AbstractClass
     1 public class ConcreteClassA extends AbstractClass {
     2 
     3     @Override
     4     public void primitiveOperation1() {
     5         System.out.println("A实现1.。。。");
     6 
     7     }
     8 
     9     @Override
    10     public void primitiveOperation2() {
    11         System.out.println("A实现2.。。。");
    12 
    13     }
    14 
    15 }
    ConcreteClassA
     1 public class ConcreteClassB extends AbstractClass {
     2 
     3     @Override
     4     public void primitiveOperation1() {
     5         System.out.println("B实现1.。。。");
     6         
     7     }
     8 
     9     @Override
    10     public void primitiveOperation2() {
    11         System.out.println("B实现2.。。。");
    12         
    13     }
    14 
    15 }
    ConcreteClassB
    public class TestTemplate {
        public static void main(String[] args) {
            AbstractClass cl = new ConcreteClassA();
            cl.templateMethod();
            cl = new ConcreteClassB();
            cl.templateMethod();
        }
    }
    
    结果:
    A实现1.。。。
    A实现2.。。。
    B实现1.。。。
    B实现2.。。。
    test

    模板方法模式是通过把不变行为搬到超类,去除子类中的重复代码,来体现它的优势。

  • 相关阅读:
    常用SQL语句大全总结
    修改 Mac 默认 PHP 运行环境
    mac下更新自带的PHP版本到5.6或7.0
    apache php 开启伪静态
    酒店迎接新技术变革:用智能手机开门
    百度地图显示多个标注点
    百度地图api简单使用方法
    Spring mvc 配置详解
    Spring MVC入门知识总结
    Bootstrap 按钮
  • 原文地址:https://www.cnblogs.com/cai170221/p/13489127.html
Copyright © 2011-2022 走看看