设计模式 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

策略模式总结

策略模式优点:

  • 1.算法可以自由切换。

  • 2.避免使用多重条件判断。

  • 3.扩展性良好。

策略模式缺点:

  • 1.策略类会增多。

  • 2.所有策略类都需要对外暴露。

适用场景:

  • 1.如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。

  • 2.一个系统需要动态地在几种算法中选择一种。

  • 3.一个类定义了多种行为, 并且这些行为在这个类的操作中以多个条件语句的形式出现。将相关的条件分支移入它们各自的Strategy类中以代替这些条件语句。

经过上节你给保时捷进行装饰后,终于可与上市卖了。现在车的价格可能根据市场需求变动随时调整,对于不同销售商订购辆数进行优惠。5辆一下不打折,5-10辆9.5折,10-20辆9折,20辆以上8.5折。请你写个程序计算销售商预定x辆需要多少钱,价格y。