《設計攻略》中介模式

2021-10-24 03:01:44 字數 2363 閱讀 7886

老實說,我個人很喜歡中介模式,它的結構很工整:

乙個抽象中介、乙個具體中介;

乙個抽象業主、乙個具體業主;

乙個抽象租客、乙個具體租客;

然後就是主程式執行。

簡單、清晰、一目了然,可讀性高。

#抽象中介者

class

mediator

:def

__init__

(self,comp,name)

: self.name=name

self.comp=comp

defsend

(self,message,clooeague)

:pass

#抽象同事類

class

colleague

: mediator=

none

def__init__

(self,mediator)

: self.mediator=mediator

#具體同事類1

class

concretecolleaguea

(colleague)

:#房東

defzhaozu

(mediator,name,address,area,price)

: fdm=

'你好,我是房東,我的房子在,面積是,租金是'

.format

(name,address,area,price)

return fdm

#具體同事類1

class

concretecolleagueb

(colleague)

:#租客

defqiuzu

(mediator,name,address,area,price)

: zkm=

'你好,我是租客,我的想租的房子大概在,面積大概是,租金大概是'

.format

(name,address,area,price)

return zkm

#具體中介類

class

concretemediator

(mediator)

: fd=

'' zk=

''def

introself

(self,comp,name)

:print

('您好,我是公司的,以後我來為您找到合適的房子或合適的租客'

.format

(comp,name)

)print

('*************************'

)def

__init__

(self,name)

: self.name=name

defsend

(self,name,message)

:if self.name==

'fd'

:print

('房東你好,已收到你的放租訊息,我馬上聯絡租客'

)print

('zk 你好,房東的訊息是: %s'

% message)

else

:print

('租客你好,已收到你的求租訊息,我馬上聯絡房東'

)print

('fd 你好,租客的訊息是: %s'

% message)

if __name__==

'__main__'

: mediator=concretemediator(

'fd'

) mediator.introself(

'zy'

,'xf'

) c1=concretecolleaguea

fdmm=c1.zhaozu(

'xf'

,'fd'

,'nanshan'

,'80'

,'7000'

) mediator.send(

'fd'

,fdmm)

print

('*************************'

)

mediator=concretemediator(

'zk'

) c2=concretecolleagueb

zkmm=c2.qiuzu(

'xf'

,'zk'

,'nanshan'

,'70'

,'6000'

) mediator.send(

'zk'

,zkmm)

中介設計模式

中介者模式 mediator pattern 是用來降低多個物件和類之間的通訊複雜性。這種模式提供了乙個中介類,該類通常處理不同類之間的通訊,並支援松耦合,使 易於維護。中介者模式屬於行為型模式。優點 1 降低了類的複雜度,將一對多轉化成了一對一。2 各個類之間的解耦。3 符合迪公尺特原則。缺點 中...

設計模式 中介模式

今天,我們來學習下中介者模式,所謂中介者模式,就是充當乙個中間人的角色,讓兩種不同領域的人溝通 把這句話轉換為軟體角色就是讓有交集的兩個類變得沒有任何關係。沒有關係就表明了兩個類之間的耦合度為零,這就是我們需要的最終奧義,也是中介者模式要達到的目的。首先第一步,抽象乙個中介者,這個中介者就幹一件事,...

設計模式 中介者模式

假如沒有總經理,下面三個部門 財務部,市場部,研發部。財務部要發工資,讓大家核對公司需要跟市場部和研發部都通氣 市場部要接新專案,需要研發部處理技術 需要財務部出資金。市場部跟各個部門打交道。雖然只有三個部門,但是關係非常亂。實際上,公司都有總經理。各個部門有什麼事情都通報到總經理這裡,總經理再通知...