首页 > 其他分享 >模版方法模式-24

模版方法模式-24

时间:2024-03-24 09:44:06浏览次数:17  
标签:24 body op2 模版 void 模式 class Super public

概述

模版方法模式(Template Method Pattern)定义一个操作中算法的骨架,将算法中某些步骤延迟到子类中实现,这样不会改变算法的结构,可以改变某个步骤的行为。

优点:符合“开闭原则”、“单一职责原则”。
缺点:复杂度增加。

abstract class Super {
  public void op1() {
    // body
  }
  
  public void op3() {
    // body
  }
  
  abstract void op2();
  
  public void templateMethod() {
    this.op1();
    this.op2();
    this.op3();
  }
}

public class Sub1 extends Super {
  public void op2() {
    // body
  }
}

public class Sub2 extends Super {
  public void op2() {
    // body
  }
}

图示:
image

参考

[1] 刘伟, 设计模式,2011.

标签:24,body,op2,模版,void,模式,class,Super,public
From: https://www.cnblogs.com/xdreamc/p/16475238.html

相关文章

  • CS 2410计算机体系结构
    CS2410计算机体系结构2024年春季课程项目分发时间:2024年2月19日到期时间:4月22日晚上11:592024年介绍这是一个单人项目。允许并鼓励你与同学讨论该项目,但不得分享项目源代码和报告。请在报告中列出您的讨论同行(如果有的话)屈服动态调度处理器的一个优点是它能够容忍延迟或在无序......
  • 20240323每日一题题解
    20240323每日一题题解Problem输出2024是十二生肖中的哪个动物年?(只需要输出排行第几即可)鼠视为十二生肖中的第一位。注意:答案输出为阿拉伯数字。Solution首先,我要感谢班长在百忙之中选择了这样的一道题,让我在不是周末的周日能够抽出时间水题解报告。你说的对,但是《原神》......
  • 20240322,结构类型,枚举,
     一,枚举1.1常量符号化 程序中用符号表达数字,增加程序的可读性?#include<stdio.h>//能跑,但是报错不推荐将字符串转为CHAR**constintred=0;constintyellow=1;constintgreen=2;//为撒在前面?intmain(intargc,charconst*argv[]){ //两个参数,整数,字符串数组......
  • 20240323, 结构STRUCT,
    二,结构2.1结构类型2.1.1声明结构类型:函数内声明只能函数内使用,通常声明在函数外部,可以多个函数一起使用#include<stdio.h>intmain(){ structdata{ intmouth; intday; intyear; }; //不要忘记分号 structdatatoday; today.mouth=07; today.day=......
  • Java面试题:用Java并发工具类,实现一个线程安全的单例模式;使用Java并发工具包和并发框架
    面试题一:设计一个Java并发工具类,实现一个线程安全的单例模式,并说明其工作原理。题目描述:请设计一个Java并发工具类,实现一个线程安全的单例模式。要求使用Java内存模型、原子操作、以及Java并发工具包中的相关工具。考察重点:对Java内存模型的理解。对Java并发工具包的了......
  • HarmonyOS NEXT深色模式案例
    介绍本示例介绍在开发应用以适应深色模式时,对于深色和浅色模式的适配方案,采取了多种策略如下:固定属性适配:对于部分组件的颜色属性,如背景色或字体颜色,若保持不变,可直接设定固定色值或引用固定的资源文件。双资源目录适配:在resources目录下新增dark子目录,用于存放深色模式下的......
  • 设计模式—观察者模式与发布订阅
    观察者设计模式观察者设计模式(ObserverDesignPattern)是一种常用的软件设计模式,它是一种行为型模式。该模式用于定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并自动更新。结构观察者模式通常涉及以下几个角色:Subject(主......
  • 【离散数学-学习日记】2024-3-23
    有向欧拉图的判别法【定理4-3】有向图D是欧拉图当且仅当D是强连通的且每个顶点的入度都等于出度。【定理4-4】有向图D是半欧拉图当且仅当D是单向连通的,且D中恰好有两个奇度顶点,其中一个的入度比出度大1,另一个的出度比入度大1,而其余顶点的入度都等于出度。【定理4-5】G是......
  • 算法模板 v1.10.3.20240323
    算法模板v1.1.1.20240115:之前历史版本已不可寻,创建第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”;删除“编译”-“手动开O优化”;修改“编译”-“CF模板”;删除“读写”;删除“图论”-“欧拉图”-“混合图”;删除“图论”-“可达性统计”;删除“数据类型”-“高精类”。......
  • ubuntu设置时间显示为24小时制
    对ubuntu默认的时间显示格式不太满意,查阅了相关资料进行修改为24小时制度,特此记录和分享给需要设置的网友查看当前的timezoneroot@jumpserver:~#timedatectlLocaltime:Sat2024-03-2312:45:53UTCUniversaltime:Sat2024-03-2312:45:53UT......