设计模式-模板方法模式-TemplateMethod

设计模式-模板方法模式-TemplateMethod_第1张图片模板方法模式-TemplateMethod

❓ 问题

算法的基本设计模式-模板方法模式-TemplateMethod_第2张图片 结构 应该在基类中确定,在子类中实现 可变化 部分

✔️ 解决方法

模板方法模式用于 可分解 成单个操作的算法,算法由? 抽象 的单个操作和产 具体 的单个操作组成,算法的结构已经在模板中⚓️ 固定 。抽象的单个操作作为 插入 方法放入模板方法中,插入方法由子类实现。

⚡️类图

设计模式-模板方法模式-TemplateMethod_第3张图片

 

?参与者

  • ICard (基类接口).定义了基类的可变方法,并由派生类覆写
  • ? holidayCard (基类). 基类定义了模板方法和具体操作
  • holidayCardToCompany (基类派生类). 覆写了基类的可变操作。

?评价

?优点

  • 实现了 依赖倒置
  • ♻️ 模板保证了高度的 复用 性。

?缺点

你可能感兴趣的:(go,设计模式,设计模式,模板方法模式,template,golang)