這篇文章主要講解了如何使用javascript中的中介者模式,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
創(chuàng)新互聯(lián)專注于宜賓企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。宜賓網(wǎng)站建設(shè)公司,為宜賓等地區(qū)提供建站服務(wù)。全流程按需求定制開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)介紹:在前端開(kāi)發(fā)的過(guò)程中,組件與組件之間的通訊特別常見(jiàn),一個(gè)組件的change需要引起數(shù)個(gè)組件的change,這就需要組件與組件之間存在復(fù)雜的多對(duì)多關(guān)系鏈。如何來(lái)減輕維護(hù)這些關(guān)系的復(fù)雜度,讓組件和組件之間實(shí)現(xiàn)低耦合?這就是我們即將介紹的中介者模式。
定義:用一個(gè)中介對(duì)象(中介者)來(lái)封裝一系列的對(duì)象交互,中介者使個(gè)對(duì)象不需要顯式的相互引用,從而使其耦合松散,而且可以獨(dú)立的改變他們之間的交互。中介者模式又稱為調(diào)停者模式,它是一種對(duì)象行為型模式。
場(chǎng)景:我們來(lái)實(shí)現(xiàn)一個(gè)打招呼的小demo,由牛牛發(fā)送一條消息給中介者,中介者收到后通知risker發(fā)消息給牛牛
示例:
var Mediator = { Niuniu: null, Risker: null, showMessage: function(component, message){ console.log(component.getName() + '說(shuō):' + message); if(component.getName() === 'Niuniu'){ this.Risker.showMessage('hello Niuniu'); } } } var Niuniu = function(){ this.name = 'Niuniu'; this.getName = function(){ return this.name; } this.showMessage = function(message){ Mediator.showMessage(this, message); } } var Risker = function(){ this.name = 'Risker'; this.getName = function(){ return this.name; } this.showMessage = function(message){ Mediator.showMessage(this, message); } } var niuniu = new Niuniu(); var risker = new Risker(); Mediator.niuniu = niuniu; Mediator.Risker = risker; niuniu.showMessage('hello Risker'); // Niuniu說(shuō):hello Risker // Risker說(shuō):hello Niuniu