最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

设计模式之模板方法模式和策略模式

来源:博客园


【资料图】

今天看了雷神的公开课,再次学习了设计模式的五个原则以及两个设计模式的应用案例

模板方法模式:定义一个算法骨架(一套业务流程),子类可以实现里面的一个或多个步骤

eg:对于Spring中,Service层实现类就是一个模板,里面有多个步骤(这里体现使用了该模式的多个步骤,而不是子类实现父类某个步骤)

策略模式:对业务流程中的同一个步骤,根据业务需求有多种不同的实现

eg:模板方法模式:定义(一套)支付的业务流程 (算法骨架):发请求——查数据库——生成支付页面(策略)——通知支付结果(策略)策略模式 (对于同一个步骤 (算法),有多种不同的实现):

  1. 针对用户选取的不同支付类型,采取不同的策略生成支付页面
  2. 根据不同的支付方式,采用不同策略处理支付结果

两个业务流程,定义模板

关键词: 设计模式 模板方法 可以实现