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

    Abstract(抽象模板):定义了完整的框架,方法的调用顺序通常已经确定,但是还会定义一些抽象的方法给子类实现

    Concrete(具体模板实现类):实现抽象模板中定义的抽象方法,实现具体的功能,组成一个完整逻辑

    AbstractTemplate

    package design.pattern.template;
    
    public abstract class AbstractTemplate {
        public final void run() {
            step1();
            step2();
        }
        
        public abstract void step1();
        
        public abstract void step2();
    }

    ConcreteTemplateA

    package design.pattern.template;
    
    public class ConcreteTemplateA extends AbstractTemplate{
    
        @Override
        public void step1() {
            System.out.println("ConcreteTemplateA step1");
        }
    
        @Override
        public void step2() {
            System.out.println("ConcreteTemplateA step2");
        }
    
    }

    ConcreteTemplateB

    package design.pattern.template;
    
    public class ConcreteTemplateB extends AbstractTemplate{
    
        @Override
        public void step1() {
            System.out.println("ConcreteTemplateB step1");
        }
    
        @Override
        public void step2() {
            System.out.println("ConcreteTemplateB step2");
        }
    
    }

    Client

    package design.pattern.template;
    
    public class Client {
        public static void main(String[] args) {
            AbstractTemplate tmpa = new ConcreteTemplateA();
            AbstractTemplate tmpb = new ConcreteTemplateB();
            tmpa.run();
            tmpb.run();
        }
    }
  • 相关阅读:
    18-[模块]-shutil
    4-linux基本命令
    代码重构之移除对参数的赋值
    代码重构之分解临时变量
    代码重构之引入解释性变量
    代码重构之以查询取代临时变量
    代码重构之内联临时变量
    代码重构之内联函数
    代码重构之提取方法
    JQuery EasyUI validate 扩展
  • 原文地址:https://www.cnblogs.com/m2492565210/p/7245620.html
Copyright © 2011-2022 走看看