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

Posted pzistart

tags:

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

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

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

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

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

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

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

两个业务流程,定义模板

以上是关于设计模式之模板方法模式和策略模式的主要内容,如果未能解决你的问题,请参考以下文章

Java中,状态模式和策略模式的区别

模板方法和策略模式有啥区别?

设计模式之行为类模式PK

设计模式之行为型模式

模板方法模式策略模式 的 联系区别和应用场景

java设计模式7.策略模式模板方法模式观察者模式