设计模式:策略模式
2021/10/2 23:14:31
本文主要是介绍设计模式:策略模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
设计模式:策略模式
- 特点
- 案例:购物车结算
- 完整代码
特点
- 一个问题匹配多个解决方案
- 可以添加解决方案
- 可以删除解决方案
案例:购物车结算
- 解决方案
const sale = { '100_10': price => price -= 10, '200_30': price => price -= 30, '500_60': price => price -= 60 }
- 添加解决方案
calcPrice.add = function (type, fn) { if (sale[type]) return '此优惠已存在' sale[type] = fn }
- 删除解决方案
calcPrice.del = function (type) { delete sale[type] }
完整代码
const calcPrice = (function () { // 优惠类型 const sale = { '100_10': price => price -= 10, '200_30': price => price -= 30, '500_60': price => price -= 60 } function calcPrice (price, type) { if (sale[type] === undefined) return '此优惠不存在' return sale[type](price) } // 添加优惠类型 calcPrice.add = function (type, fn) { if (sale[type]) return '此优惠已存在' sale[type] = fn } // 删除优惠类型 calcPrice.del = function (type) { delete sale[type] } return calcPrice })()
这篇关于设计模式:策略模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南