解析JS设计模式的概念和用法
本文阐述了JS设计模式的概念和用法。分享给大家参考,如下:
政策模式的概念参考:
类似的情况在软件开发中经常遇到。实现某一功能的算法或策略有很多。我们可以根据不同的环境或条件选择不同的算法或策略来完成功能。
比如搜索、排序等。一种常见的方法是在类中硬编码。如果需要提供多种搜索算法,可以将这些算法编写成一个类并在类中提供多种方法,每种方法对应一种特定的搜索算法;当然,这些搜索算法也可以封装在统一的方法中,可以通过if…else…或case等条件判断语句进行选择。
我们可以称这两种方法为硬编码。如果需要添加新的搜索算法,需要修改封装算法类的源代码。要替换搜索算法,还需要修改客户端调用代码。
大量的搜索算法封装在这个算法类中,所以这类代码会比较复杂,难以维护。如果我们在客户端包含这些策略,这种做法就更不可取了,这会导致客户端程序庞大,难以维护。如果有大量的替代算法,问题会变得更加严重。
举个例子:
1.旅行:我们可以考虑几种策略:我们可以骑自行车、汽车、火车和飞机。每种策略都可以得到相同的结果,但它们使用的资源不同。
策略的选择是基于成本、时间、工具和每种方法的便利性。
第二,在某商场,五一当天做了一个活动,于是图书产品根据购买金额做了以下折扣策略
1.199元以上打九折,399元以上打九折,599元以上打九折,599元以上打九折;
函数书策略(){this。calc price=function(price){ console . log('不打折=' price ');}}功能手册calc9strategy () {this。calc price=function(price){ console . log('原价为:' price ';打九折后:“(价格* 0.9));}}功能手册calc8strategy () {this。calc price=function(price){ console . log('原价为:' price ';打八折后:“(价格* 0.8));}}功能手册calc7strategy () {this。calc price=function(price){ console . log('原价为:' price ';打三折后:“(价格* 0.7));} }函数PriceCalc(_ strategy){ this . strategy=_ strategy;this . getprice=function(price){ return this . strategy . calcprice(price);} }函数Client(){ var price=100;var priceCalc=nullif(199=price price 399){ priceCalc=new priceCalc(new bookcalc 9 strategy());} else if(399=price price 599){ priceCalc=new priceCalc(new bookcalc8 strategy());} else if (599=价格){ priceCalc=new priceCalc(new bookcalc7 strategy());} else { priceCalc=new priceCalc(new BookStrategy());} priceCalc.getPrice(价格);} Client();运行结果:
关于JavaScript的更多信息,请参考本网站的主题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、0103010。
希望本文对JavaScript编程有所帮助。
版权声明:解析JS设计模式的概念和用法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。