策略模式:实现算法灵活替换与解耦.pptxVIP

  • 0
  • 0
  • 约3.97千字
  • 约 20页
  • 2026-07-13 发布于北京
  • 举报

策略模式:实现算法灵活替换与解耦.pptx

第二十二章Strategy策略

(行为型模式)

动机(Motivation)在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?

意图(Intent)定义一系列算法,把它们一个个封装起来,并且使它们可互相替换。该模式使得算法可独立于使用它的客户而变化。——《设计模式》GoF

结构(Structure)

结构详解

生活中的例子超市购物,根据总价有不同的优惠策略:不折扣现金,要赠品满300元送100元打8折……….

实现-Strategy//Strategy策略publicabstractclass优惠策略{//algorithmInterface算法定义publicabstractdouble计算优惠(double总价);}

实现-ConcreteStrategypublicclass要赠品:优惠策略//ConcreteStrategy{publicoverridedouble计算优惠(double总价){Console.Write

文档评论(0)

1亿VIP精品文档

相关文档