一、定义
面向对象设计鼓励将行为分布到各个对象中,把对象划分成更小的粒度,有助于增强对象的可复用性。但由于这些细粒度对象之间的联系激增,又可能反过来降低它们的可复用性。 中介者模式的作用就是解除对象与对象之间的紧耦合关系。
二、示例:购买商品
<div class="jb51code">
<pre class="brush:js;">
// 库存量
var goods = {
roseGold: 10,luxuryGold: 10
};
var colorSelect = document.getElementById("selColor"),numberInput = document.getElementById("selNum"),colorInfo = document.getElementById("conColor"),numberInfo = document.getElementById("conNum"),nextBtn = document.getElementById("nextBtn");
colorSelect.onchange = function() {
var color = colorSelect.value,// 颜色
number = +numberInput.value,// 数量
stock = goods[color]; // 对应颜色的库存量
colorInfo.innerHTML = color;
if(!color) {
nextBtn.disabled = true;
nextBtn.innerHTML = "请选择手机颜色";
return;
}
if(!number || (((number - 0) | 0) !== (number - 0))) {
nextBtn.disabled = true;
nextBtn.innerHTML = "请选择手机数量";
return;
}
if( number > stock) {
nextBtn.disabled = true;
nextBtn.innerHTML = "库存不足";
return;
}
nextBtn.disabled = false;
nextBtn.innerHTML = "加入购物车";
};
/ 购买数量做同样处理 /