學習《android 原始碼設計模式解析與實踐》系列筆記生活中經常能聽到或接觸到各種「中介者」,比如買房子或者租房,可能會通過房屋中介;買二手車會有二手車中介;找工作也可以通過中介。
中介者模式屬於行為型模式。
中介者模式包裝了一系列物件相互作用的方式,使得這些物件不必相互明顯作用。從而使它們可以鬆散耦合。
當物件之間的互動操作很多且每個物件的行為操作都依賴彼此時,為防止在修改乙個物件的行為時,涉及修改很多其他物件的行為。
該模式主要是將物件之間的多對多的關係變成一對多的關係,即將關係網從網狀結構簡化為星形結構,降低系統的複雜性,提高可擴充套件的作用。
下面就以買房為例,買方和賣方通過房屋中介進行資訊交流。
/**
* 抽象中介者,會持有同事物件的引用
*/public abstract class mediator
public void setvendor(colleague mvendor)
}
/**
* 同事抽象類,會持有中介者的引用
*/public abstract class colleague
public abstract void getmessage(string msg);
public abstract void say(string msg);
}
/**
* 賣家
*/public class vendor extends colleague
@override
public void getmessage(string msg)
@override
public void say(string msg)
}
/**
* 買家
*/public class purchaser extends colleague
@override
public void getmessage(string msg)
@override
public void say(string msg)
}
/**
* 房屋中介實現類
*/public class lettingagency extends mediator else }}
public class client
}
賣家收到訊息:房主,房子我只能給50萬,肯不肯賣?
買家收到訊息:不好意思,暫時不能接受!
中介者模式的運用簡化了物件之間的關係,將系統的各個物件之間的相互關係進行封裝,使各個同事類解耦,系統成為松耦合系統。它簡化了系統的結構,將同事間相互依賴的網狀結構轉變成簡單的星形結構,中介者物件在這裡起到中轉和協調作用。
但是如果幾個同事類之間的依賴關係並不複雜的話,中介者的加入可能會使結構變得複雜,系統維護起來較為困難,所以在運用前需要多考慮。
設計模式整理(1) **模式
設計模式整理(2) 單例模式
設計模式整理(3) builder 模式
設計模式整理(4) 原型模式
設計模式整理(5) 工廠模式
設計模式整理(6) 策略模式
設計模式整理(7) 狀態模式
設計模式整理(8) 責任鏈模式
設計模式整理(9) 觀察者模式
設計模式整理(10) 介面卡模式
設計模式整理(11) 裝飾模式
設計模式整理(12) 中介者模式
設計模式 21 中介者模式
中介者模式 用乙個中介物件來封裝一系列的物件互動 中介者 就像我們在租房子一樣,有租房子的中介 抽象中介者 mediator package com.actionpattern.intermediary.edition1 抽象中介者 mediator public abstract class me...
設計模式17 中介者模式
中介者模式 mediator pattern 是用來降低多個物件和類之間的通訊複雜性。這種模式提供了乙個中介類,該類通常處理不同類之間的通訊,並支援松耦合,使 易於維護。中介者模式屬於行為型模式。不應當在職責混亂的時候使用。建立中介類 聊天室,負責傳送通訊 include include inclu...
遊戲設計模式學習筆記(12)中介者模式
參考 設計模式與遊戲完美開發 遊戲程式設計模式 圖說設計模式 graphic design patterns 遊戲設計模式 淺墨 毛星雲 runoob.com 設計模式 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img fp3yr6oc 1570267624362 e csdn部落...