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

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

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

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

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

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

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

两个业务流程,定义模板
image

posted @ 2023-01-17 22:18  pzistart  阅读(59)  评论(0编辑  收藏  举报