中介者模式的介紹:中介者模式是行為型模式這一,在日常生活中,比如兩口子吵架,孩子和雙方的父母會勸架,孩子和雙方的父母就稱有中介者的意思,就是“和事佬”,也就是說調(diào)解兩個起爭端的人。而中介紹者模式比這個例子要復(fù)雜的多,上面的例子只是涉及到2個人的,中介者模式要涉及的對象是多個。多個對象之間的交互關(guān)系,是很復(fù)雜的,是網(wǎng)狀的關(guān)系,中介者就是要把這種多對多的關(guān)系轉(zhuǎn)化為一對多的關(guān)系,就是轉(zhuǎn)化為星狀結(jié)構(gòu),如下圖
網(wǎng)狀關(guān)系
星狀關(guān)系
中介模式的定義:中介者模式包裝了一系列對象的相互交互作用的方式,使得這些對象不必相互明顯作用。從而使它們可以松散耦合,當(dāng)某些對象之間的作用發(fā)生改變時,不會立即影響其他的一些對象之間的作用,保證這些作用可以彼此獨立的變化,中介者模式將多對多的相互作用轉(zhuǎn)化為一對多的相互作用。中介者模式將對象的行為和協(xié)作抽象化,把對象在小尺度的行為上與其他對象的相互作用分開處理。
中介者模式的使用場景:當(dāng)對象之間的交互操作很多且每個對象的行為操作都依賴彼此時,為防止在修改一個對象的行為時,同時涉及修改很多其它對象的行為,可采用中介者模式,來解決緊耦合問題。該模式將對象之間的多對多關(guān)系變成一對多關(guān)系,中介者對象將系統(tǒng)從網(wǎng)狀系統(tǒng)變成以中介者為中心的星狀形結(jié)構(gòu),達到降低系統(tǒng)的復(fù)雜性,提高可擴展性的作用。