Solo  当前访客:0 开始使用

策略模式--设计模式之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