老實說,我個人很喜歡中介模式,它的結構很工整:
乙個抽象中介、乙個具體中介;
乙個抽象業主、乙個具體業主;
乙個抽象租客、乙個具體租客;
然後就是主程式執行。
簡單、清晰、一目了然,可讀性高。
#抽象中介者
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 符合迪公尺特原則。缺點 中...
設計模式 中介模式
今天,我們來學習下中介者模式,所謂中介者模式,就是充當乙個中間人的角色,讓兩種不同領域的人溝通 把這句話轉換為軟體角色就是讓有交集的兩個類變得沒有任何關係。沒有關係就表明了兩個類之間的耦合度為零,這就是我們需要的最終奧義,也是中介者模式要達到的目的。首先第一步,抽象乙個中介者,這個中介者就幹一件事,...
設計模式 中介者模式
假如沒有總經理,下面三個部門 財務部,市場部,研發部。財務部要發工資,讓大家核對公司需要跟市場部和研發部都通氣 市場部要接新專案,需要研發部處理技術 需要財務部出資金。市場部跟各個部門打交道。雖然只有三個部門,但是關係非常亂。實際上,公司都有總經理。各個部門有什麼事情都通報到總經理這裡,總經理再通知...