设计模式--TemplateMethod(模板方法)

    技术2023-11-18  71

    》》》前情回顾:设计原则及模式分类

    类别:组件协作(晚绑定) 场景:整体结构稳定,但是子步骤有很多改变 模式定义: * 定义一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(override重写)该算法的某些特定步骤。


    public abstract class AbsClass{ //基本方法 protected abstract void doSomething(); protected abstract void doAnything(); //模板方法 public void templateMethod() { //调用基本方法,完成相关逻辑 this.doAnything(); this.doSomething(); } } ------ public class ImplAbs222 extends AbsClass { protected ImplAbs222(String num) { super(num); } @Override protected void doSomething() { System.out.println("-----something"+num+"-----"); } @Override protected void doAnything() { System.out.println("-------anything"+num+"---------"); } } ------ public class ImplAbsClass extends AbsClass{ protected ImplAbsClass(String num) { super(num); } @Override protected void doSomething() { System.out.println("----doSomething"+num+"-----"); } @Override protected void doAnything() { System.out.println("-------doAnything"+num+"------"); } } ------ public class AbsTest { public static void main(String[] args) { ImplAbsClass implAbsClass = new ImplAbsClass("111"); ImplAbs222 implAbs222 = new ImplAbs222("222"); implAbs222.templateMethod(); implAbsClass.templateMethod(); } }
    Processed: 0.016, SQL: 9