设计模式---模板方法模式

一、介绍

所谓模板方法模式,就是提供一种方法的模板来实现一种规范,其他人可以利用这个模板定义自己的逻辑。

在Java编程中的应用,主要就是通过接口或者抽象类来实现的,抽象类中可以把逻辑函数声明为final类型,表示不能被重写,即不能改变逻辑。在接口中定义一个模板方法,模板方法中调用接口中的其他方法,其他方法既可以提供默认实现,也可以不提供默认实现。当一个类实现这个接口的时候,就可以通过重写接口中的方法来实现自己的变成逻辑。

二、代码实例

接口:

java 复制代码
package code;

public interface myFirst {
    default void templete(){
        if(isTrue()){//如果判断成立,就执行逻辑1
            fun1();
        }
        fun2();
        fun3();
    }
    default void fun1(){
        System.out.println("逻辑1执行");
    }
    default void fun2(){
        System.out.println("逻辑2执行");
    }
    default void fun3(){
        System.out.println("逻辑3执行");
    }
    default boolean isTrue(){
        return true;//默认为true
    }
}
java 复制代码
package code;

public class myClass implements myFirst{
    @Override
    public void fun1() {
        System.out.println("我自己的实现1");
    }

    @Override
    public void fun2() {
        System.out.println("我自己的实现2");
    }

    @Override
    public void fun3() {
        System.out.println("我自己的实现3");
    }

    @Override
    public boolean isTrue() {
        return true;
    }
}
相关推荐
coderzpw1 小时前
当模板方法模式遇上工厂模式:一道优雅的烹饪架构设计
java·模板方法模式
Summer_Xu3 小时前
模拟 Koa 中间件机制与洋葱模型
前端·设计模式·node.js
云徒川5 小时前
【设计模式】原型模式
java·设计模式·原型模式
〆、风神10 小时前
装饰器模式与模板方法模式实现MyBatis-Plus QueryWrapper 扩展
mybatis·装饰器模式·模板方法模式
huang_xiaoen11 小时前
java设计模式之桥接模式(重生之我在地府当孟婆)
设计模式·桥接模式
HappyGame0212 小时前
设计模式-观察者模式
观察者模式·设计模式
渊渟岳12 小时前
掌握设计模式--解释器模式
设计模式
牵牛老人1 天前
C++设计模式-责任链模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
c++·设计模式·责任链模式
肥仔哥哥19301 天前
设计模式分类与定义(高软55)
设计模式·软考·高软·设计模式分类
云徒川1 天前
【设计模式】过滤器模式
windows·python·设计模式