架构师基本修养系列—Javascript之策略模式【设计模式篇】

Javascript之策略模式


前言

什么是策略模式:定义一系列的策略,把它们一个个封装成函数,也可以统一封装进一个对象;然后再定义一个方法,该方法可根据参数自动选择执行对应的策略。


一、策略模式

示例:废话不多说直接上代码

//定义策略
let Strategy={
				"Add":function(a,b,msg){
					console.log(`${msg}:${a+b}`);
				},
				"Subtraction":function(a,b,msg){
					console.log(`${msg}:${a-b}`)
				},
				"multiplication":function(a,b,msg){
					console.log(`${msg}:${a*b}`)
				},
				"division":function(a,b,msg){
					console.log(`${msg}:${a/b}`);
				}
			};
			//new实例时传参初始化数据
			function StrategyDemo(a,b){
				this.Num=a;
				this.Numb=b;
			}
			//在StrategyDemo原型挂上Compute方法
			StrategyDemo.prototype.Compute=function(method,msg){
			//判断是否存在此策略
				if(typeof Strategy[method]==="function"){
					Strategy[method](this.Num,this.Numb,msg);
					return;
				}
				console.log(`不存在${method}策略`);
			}
			let StrategyInstance=new StrategyDemo(50,20.5);
			StrategyInstance.Compute("Add","加法");
			StrategyInstance.Compute("Subtraction","减法");
			StrategyInstance.Compute("multiplication","乘法");
			StrategyInstance.Compute("division","除法");
			StrategyInstance.Compute("demo","测试");

接下来咱们来看看结果:

在这里插入图片描述

总结

如何?是不是很简单呐~嘻嘻
咱们下次见哟~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值