《大话设计模式》——模版方法模式

Posted 一响贪欢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《大话设计模式》——模版方法模式相关的知识,希望对你有一定的参考价值。

概述:

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

角色:

  1、层次类:这是一个抽象类,定义了程序的骨架,抽象细节。

  2、细节类:继承抽象类,对细节进行描述,完善程序,扩展父类功能。

具体代码:

层次类:

public abstract class Test{
    public void body(){
        head();
        System.out.println("这是程序骨架");
        details();
    }

    abstract void head()//细节一

    abstract void details()//细节二
}

细节类:

public abstract class Test{
    @override
    void head(){
        System.out.println("这是细节一");
    }

    @override
    void details(){
        System.out.println("这是细节二");
    }
}

客户端:

    public static void main(String[] args) {
        Test t = new TestA();
        t.body();
    }

输出:

  这是细节一
  这是body
  这是细节二

优点:
1、重复代码移到父类,去除了子类代码的重复性。

2、通过子类扩展父类,体现了开放-封闭原则。

以上是关于《大话设计模式》——模版方法模式的主要内容,如果未能解决你的问题,请参考以下文章

大话设计模式----工厂方法模式

学习笔录——大话设计模式——模板方法模式

大话设计模式--DI(依赖注入)

使用 Git 来管理 Xcode 中的代码片段

《大话设计模式》——读后感 雷锋依然在人间?——工厂方法模式

大话设计模式----外观模式