对象行为型 - 模版方法模式

Posted 巅峰小学生

tags:

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

介绍

* 模板顾名思义就是一个有固定格式的样板
* 例如日常遇到的填写某些表单,表单里面是有规定需要填什么的,这就是固定的东西,而只有你自己填写的内容信息是动态的可变的

定义

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

应用

* 有固定的步骤,也有可变的步骤

入门案例:

UML图解:

代码:

[AbstractTemplate]

AbstractTemplate:

public abstract class AbstractTemplate {

    //抽象方法:可变部分
    public abstract void say();

    //模板方法:不可变部分
    final public void templateMethod(){
        say();
        System.out.println("开始吃米田共");
        System.out.println("结束吃米田共");
    }

}

测试:

public class Main {
    public static void main(String[] args){

        new AbstractTemplate() {
            @Override
            public void say() {
                System.out.println("我是普通人,我接受不了");
            }
        }.templateMethod();

        System.out.println("===================================================");

        new AbstractTemplate() {
            @Override
            public void say() {
                System.out.println("我是超人,我没关系");
            }
        }.templateMethod();

        /**
         * output:
         *  我是普通人,我接受不了
	         开始吃米田共
	         结束吃米田共	
	         ===================================================
	         我是超人,我没关系
	         开始吃米田共
	         结束吃米田共
         */

    }
}

以上是关于对象行为型 - 模版方法模式的主要内容,如果未能解决你的问题,请参考以下文章

行为型模型 模版模式

设计模式-模版方法

Android 模版设计模式实战

设计模式 分类

java常见的几种设计模式

行为型模式-模板方法模式