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();
        }
    }
  • 相关阅读:
    AOJ 718.计算GPA
    AOJ 11.Rails
    AOJ 592.神奇的叶子
    AOJ 10.目标柏林
    洛谷P1030求先序排列
    vijos1514天才的记忆
    洛谷2016战略游戏
    LOJ10155数字转换
    洛谷2014选课
    洛谷2015二叉苹果树
  • 原文地址:https://www.cnblogs.com/m2492565210/p/7245620.html
Copyright © 2011-2022 走看看