作用:
根据不同的条件去进行相应的业务逻辑处理
就好比针对每种情况都制定对应的方案,触发条件就启动某项方案策略
示例:
        //策略对象
        const arrangeFun = {
            model1:(value1,value2,value3,value4)=>{
              return `${value1}${value2}${value3}:${value4}`
            },
            model2:(value1,value2,value3,value4)=>{
              return `${value4},${value3}${value1}${value2}`
            },
            model3:(value1,value2,value3,value4)=>{
              return `${value2}!${value4}${value3}${value1}`
            },
        }
        
        class StringJoint{
            constructor(fun){
                this.useModel = (value1,value2,vlaue3,vlaue4)=>{
                    return fun(value1,value2,vlaue3,vlaue4)
                }
            }
        }
        const model1 = new StringJoint(arrangeFun.model1)
        const model2 = new StringJoint(arrangeFun.model2)
        const model3 = new StringJoint(arrangeFun.model3)
       
        console.log(model1.useModel('我的','同学','是','秋雅'))
        console.log(model2.useModel('我的','同学','是','秋雅'))
        console.log(model3.useModel('我的','同学','是','秋雅'))
        //用这四个字进行造句,可以有很多的策略,我们定义了一个集中的策略对象
        //然后生成造句的实例,并将方法保存在实例当中
        //实例调用自己身上的方法,就可以了 














![【洛谷题解】P1008 [NOIP1998 普及组] 三连击](https://img-blog.csdnimg.cn/direct/c4243e3ca6c044a288c41aec5b0e65fb.png)





