javascript[策略模式]
-
传统语言的策略模式
- 策略类和处理策略类分离的,松耦合的策略模式
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111104023967.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MDcwNzE5,size_16,color_FFFFFF,t_70#pic_center)
- 耦合性太强的if条件策略,违背了开放-封闭原则
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111104023867.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MDcwNzE5,size_16,color_FFFFFF,t_70#pic_center)
-
javascript版本的策略模式
const strategy={
"A":function(data){
console.log('A'+data*3)
},
"B":function(data){
console.log('B'+data*2)
}
}
const handleData=function(key,data){
strategy[key](data)
}