19 中介者模式

2021-10-10 15:24:55 字數 774 閱讀 4056

中介者模式主要解決的問題:當有多個類之間有相互呼叫的關係時,如果將這些類相互關聯在一起,那麼當呼叫方式發生變化時,可能需要去每個類中去修改呼叫方式。這樣的修改會就會導致維護麻煩。中介者模式的根本還是做解耦。

我在網上看了很多人解釋的中介者模式和他們的舉例,**方式都不大一樣,但是根據自己的理解,中介者模式就是要把各種業務類之間的關聯關係轉移到中介者者類當中去,讓各個業務類之間解耦。

舉例:電器的開啟順序,可以是先電視==》冰箱,也可以是冰箱==》電視。所以這個類之間的開啟順序,就可以用中介者這個類來實現業務。

同事類:意思就是有業務關聯的類;

/**

* 定義乙個抽象類,子類為同事類

*/public abstract class colleague

}/**

* 電視機同事類

*/public class tv extends colleague

public void tvstart()

}/**

* 冰箱同事類

*/public class bingxiang extends colleague

public void bxstart()

}/**

* 中介者

*/public class mediator

}/**

* 測試

*/public class test

}

設計模式還是重點理解思想,在實際開發中,很少能照搬模板;

21 中介者模式

中介者模式 mediator 調停者模式 用乙個中介物件來封裝一系列的物件互動。中介者使各個物件不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立的改變它們之間的互動。主要解決 物件與物件之間存在大量的關聯關係,這樣勢必會導致系統的結構變得很複雜,同時若乙個物件發生改變,我們也需要跟蹤與之相關聯的...

設計模式 21 中介者模式

中介者模式 用乙個中介物件來封裝一系列的物件互動 中介者 就像我們在租房子一樣,有租房子的中介 抽象中介者 mediator package com.actionpattern.intermediary.edition1 抽象中介者 mediator public abstract class me...

設計模式17 中介者模式

中介者模式 mediator pattern 是用來降低多個物件和類之間的通訊複雜性。這種模式提供了乙個中介類,該類通常處理不同類之間的通訊,並支援松耦合,使 易於維護。中介者模式屬於行為型模式。不應當在職責混亂的時候使用。建立中介類 聊天室,負責傳送通訊 include include inclu...