设计模式---004策略模式---巷子

Posted nanianqiming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式---004策略模式---巷子相关的知识,希望对你有一定的参考价值。

一、设计模式概念

  设计模式所强调的是代码的结构设计和解决问题的思路

 

二、策略模式

  策略模式:所有的解决方案我们都应该提前设定好,不在根据当下的情形做判断,将不同的问题及不同的解决方案对应起来。
 
  策略模式最大的好处就是将问题和解决方案做了映射关系的处理,这样就不需要每次进行判断
  技术图片

  简单来说我们一般情况下周一、周二、周三上早班需要每天7点起床,周四、周五上中班每天10点起床,那么我们就会用手机提前订好闹钟,手机会根据当前的日期来决定闹钟几点响起,这就是最简单的策略模式

 

三、案例

 

var LoL = {
    hero:{
        "盲僧":function(){
        
        },
       "亚索":function(){

        },
        "提莫":function(){

         }
    },
    create:function(type){
        //这里填写什么?
    }
}

LoL.create("盲僧");



思考我们如何通过type类型得到英雄这个对象?
 
我们第一时间想到的是switch判断,但是正确的答案是  return new this.hero[type]( );
 
 
这样减少了代码的判断的逻辑,代码的执行效率也就提高了

 

 

 

以上是关于设计模式---004策略模式---巷子的主要内容,如果未能解决你的问题,请参考以下文章

策略模式-设计模式

Redis实现分布式锁(设计模式应用实战)

Redis实现分布式锁(设计模式应用实战)

004-行为型-02-模板方法模式(Template Method)

设计模式策略模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

004-行为型-11-解析器模式(Interpreter)