JavaScript中介者模式

中介者模式

面向對象設計鼓勵將行爲分佈到各個對象之中,把對象劃分爲更小的粒度,有助於增強對象的可複用性,但是由於這些細粒度對象之間的關係劇增,反過來可能會降低代碼的複用性。

中介者模式的作用就是解除對象與對象之間的耦合關係增加一箇中介者之後所有的相關對象都通過中介者來通信,而不是相互引用。如果當一個對象發生變化只要通知中介者即可,這樣就降低了對象與對象之間的耦合性。

中介者模式是迎合迪米特法則的一種實現,迪米特法則也叫最少知識原則,是指一個對象應該儘可能少的瞭解其他的對象,如果對象之間的耦合度太高一個對象發生變化難免會影響到其他的對象,正所謂“城門失火殃及池魚”,而在中介者模式中,對象幾乎不知道彼此之間的存在,他們只能通過中介者對象來相互影響對方

中介者模式的一對多的關係取代了對象之間的網狀關係,對象只需要關注與實現自己的功能,只想之間的相互影響關係交給了中介者來實現和維護。

但是使用中介者模式,就會增加一個新的中介者對對象,中介者對象往往是複雜的,因爲他要維護大量對象之間的交互,所以中介者對象本身也是一個難以維護的對象。這需要程序員具有一點編程能力

在實際的生產過程中,往往要求的是快速的開發,而卻對象之間存在一定的耦合度也是正常的,我們不必過多的考慮設計模式,但是如果對象之間的耦合度確實太高,使得程序難以維護,這時候我們就可以使用中介者模式來重構我們的代碼!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章