職責(zé)鏈模式的定義是:使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關(guān)系,將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它為止。職責(zé)鏈模式的名字非常形象,一系列可能會處理請求的對象被連接成一條鏈,請求在這些對象之間依次傳遞,直到遇到一個可以處理它的對象,我們把這些對象稱為鏈中的節(jié)點。
如下圖所示:
/** * pre:職責(zé)鏈模式 * 定義:一系列可能處理請求的對象鏈接成一條鏈, * 請求在這條鏈中傳遞,直到遇到一個可以處理它的對象。 */// --------- 示例 1 -----------/** * 某品牌手機銷售,交500元定金可得100元電商優(yōu)惠券,交300元可得50元優(yōu)惠券, * 沒有交定金的用戶只能進行普通購買,而且還不一定能買的到。 * 將這一過程用代碼寫出來: * orderType: 1,交500定金;2,交300元定金,3,普通購買 * pay:true 已支付定金,false未支付定金 * stock:手機庫存數(shù) */var order = (function() { var favorCache = { // 優(yōu)惠配置 1: [500, 100], 2: [300, 50] }; var normal = function(stock) { // 普通購買 if(stock > 0) { console.log("普通購買.庫存數(shù):" + stock); } else { console.log("庫存不足."); } &