首页 > 其他分享 >模板方法设计模式

模板方法设计模式

时间:2023-01-27 10:55:22浏览次数:49  
标签:AlarmDescDetailsDto 子类 abstract request 设计模式 方法 void 模板

模板方法设计模式

1.说明

核心是:定义一个模板类,在模板类中规定其整体的骨架并确定哪些方法是允许子类可以去重写的,哪些是不允许子类去重写的.用来保证核心算法不被破坏.

2.修饰词说明

修饰词 使用位置 说明
final 修饰方法 定义那些不想被子类重写的方法,常见于定义整体的数据流转结构
abstract 修饰方法 定义那些需要子类去具体实现的方法

3.代码范例

模板类(抽象类)

@Component
public abstract class AbstractResGroupManageService implements ResGroupManageService {
	/**
	* 不允许子类去重写的,必须要用父类提供的功能逻辑
	**/
	public final void saveOrUpdateResGroupAndRules(AlarmDescDetailsDto request) {
		saveOrUpdateResGroup(request);
		saveOrUpdateAlarmRules(request);
		saveOrUpdateAppInfoRelation(request);
		saveOrUpdateMemberRelation(request);
		saveInstanceCount(request);
	}
	/**
	* 必须子类去实现的,父类不提供功能
	**/
	abstract void saveOrUpdateResGroup(AlarmDescDetailsDto request);
	abstract void saveInstanceCount(AlarmDescDetailsDto request);\
	abstract void saveOrUpdateAppInfoRelation(AlarmDescDetailsDto request);
	abstract void saveOrUpdateMemberRelation(AlarmDescDetailsDto request);
}

4.扩展

使用到了抽象类abstractClass,刚好说明在使用模板方法的设计模式时时候抽象类,而不使用接口

5.优势,好处

用到了编程中的抽象的思想,去设计好整体的骨架.这是核心

标签:AlarmDescDetailsDto,子类,abstract,request,设计模式,方法,void,模板
From: https://www.cnblogs.com/PythonOrg/p/17068693.html

相关文章

  • 多项式模板
    多项式模板\(\text{导数运算法则}\)$(x\pmy)'=x'\pmy'$$(ax)'=ax'$(\(a\)为常数)\((xy)'=x'y+xy'\)$(\displaystyle\frac{x}{y})=\displaystyle......
  • C#异步方法中Task.WhenAll的使用
    一、说明Task.WhenAll()、Task.WhenAny()这两个与Task.WaitALL()、Task.WaitAny()是有区别的,When是异步的,Wait是同步的。Task.WhenAll():所有task完成时,task才完成,用于等待......
  • C++可变参数模板
    template<class...T>voidf(T...args){cout<<sizeof...(args)<<endl;}sizeof...一整个是运算符可以通过递归或逗号表达式方式展开该参数包可以使用这种可......
  • P5858 「SWTR-03」Golden Sword DP+单调队列模板
    P5858「SWTR-03」GoldenSword-洛谷|计算机科学教育新生态(luogu.com.cn) 理解题意后,我们知道贪心和暴力枚举显然是不行的,联想到DP我们设置dp[i][j]表示,第i种......
  • ENSP 40 错误解决方法
    检查安装eNSP的PC上是否存在名为“VirtualBoxHost-OnlyNetwork”的虚拟网卡。如果不存在,请添加虚拟网卡。如果存在,请检查虚拟网卡的状态。如果虚拟网卡的名称为“VirtualB......
  • JQuery的remove方法的使用
    jquery的remove方法是将元素移除掉,并且返回被移除的元素,还可以使用,下面一个例子使用该功能实现下图的功能:<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><hea......
  • 浅谈PHP设计模式的享元模式
    简介:享元模式,属于结构型的设计模式。运用共享技术有效地支持大量细粒度的对象。适用场景:具有相同抽象但是细节不同的场景中。优点:把公共的部分分离为抽象,细节依赖于抽......
  • 浅谈PHP设计模式的中介者模式
    简介:中介者模式,属于行为型的设计模式。用一个中介对象来封装一系列的对象交互。中介者是各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。......
  • 通过修改脚本来提权的方法
    以普通用户登入后,先sudo-l 看看有什么具有root权限、且普通用户可以写入的脚本例:A.sh 该类脚本普通用户是启动不了的,但可以通过链式脚本启动例:存在脚本B.sh,其内......
  • paper writing: 句式,用于在两种方法中做一个平衡
    可以使用的一个句式我们这篇文章中的方法可以在目前的两种方法中取得一个平衡。这篇文章来自hypernetwork,2017googleteamInthispaper,weviewconvolutionalnetwor......