策略模式--设计模式之js运用
1、策略模式
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
2、js实现
1)实现一个基础类
function Context(strategy){ this.strategy = strategy; } Context.prototype.do =function(a,b){ return this.strategy.do(a,b); }
2)实现附加策略类
//加法 function OperationAdd(){}
OperationAdd.prototype.do = function (a,b) {
return a+b;
}//乘法
function OperationMultiply(){}
OperationMultiply.prototype.do = function (a,b) {
return a*b;
}
3、测试
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script src="OperationAdd.js"></script> <script src="OperationMultiply.js"></script> <script src="Context.js"></script> </head> <body> <script> var c1 = new Context(new OperationAdd()); console.log(c1.do(2,3));var c2 = new Context(new OperationMultiply()); console.log(c2.do(2,3));
</script>
</body>
</html>
结果:
标题:策略模式--设计模式之js运用
作者:hugh0524
地址:https://blog.uproject.cn/articles/2016/06/01/1464753388803.html
0 0