作用:
根据不同的条件去进行相应的业务逻辑处理
就好比针对每种情况都制定对应的方案,触发条件就启动某项方案策略
示例:
//策略对象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('我的','同学','是','秋雅'))//用这四个字进行造句,可以有很多的策略,我们定义了一个集中的策略对象//然后生成造句的实例,并将方法保存在实例当中//实例调用自己身上的方法,就可以了