设计模式---004策略模式---【巷子】
一、设计模式概念
设计模式所强调的是代码的结构设计和解决问题的思路
二、策略模式
策略模式:所有的解决方案我们都应该提前设定好,不在根据当下的情形做判断,将不同的问题及不同的解决方案对应起来。
策略模式最大的好处就是将问题和解决方案做了映射关系的处理,这样就不需要每次进行判断
简单来说我们一般情况下周一、周二、周三上早班需要每天7点起床,周四、周五上中班每天10点起床,那么我们就会用手机提前订好闹钟,手机会根据当前的日期来决定闹钟几点响起,这就是最简单的策略模式
三、案例
var LoL = { hero:{ "盲僧":function(){ }, "亚索":function(){ }, "提莫":function(){ } }, create:function(type){ //这里填写什么? } } LoL.create("盲僧");
思考我们如何通过type类型得到英雄这个对象?
我们第一时间想到的是switch判断,但是正确的答案是 return new this.hero[type]( );
这样减少了代码的判断的逻辑,代码的执行效率也就提高了