門面模式與中介者模式

2021-07-17 04:00:31 字數 551 閱讀 2359

為子系統的一組介面提供乙個統一使用的介面。它方便了外界對子系統的使用,減少了學習成本——一般的使用者只需要了解門面類即可,不需要了解子系統內部的各種處理邏輯。

但,外界並不是只能通過門面類訪問子系統,可以直接繞過子系統訪問子系統的底層。

門面類並不參與子系統的各種邏輯,它只是乙個為了方便外界使用的介面。因此,子系統內部並不知道門面類的存在。而且門面類對外界請求的處理方式也是直接**給相應的類進行處理。

統一——為子系統提供乙個統一介面。

可繞過——外界可繞過子系統,並不是非得使用門面類。

1,子系統比較複雜,學習成本比較高。

2,可使用各種門面模式定義子系統內的各層的入口點,層與層之間可以使用門面模式。

門面類依託與子系統中的各個類完成相應的功能,因此可以重組這些內部物件,從而得到不同的門面類。

與中介者模式的比較

中介者:各個同事類知道中介類的存在,而且會與中介類進行通訊。

門面:子系統類並不知道門面類的存在,也不會使用門面類的功能。

兩者都是將請求**給其他物件完成,起到中介作用。

中介者模式

1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...

中介者模式

中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...

中介者模式

中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...