中介設計模式

2021-09-11 18:35:18 字數 1623 閱讀 5619

中介者模式(mediator pattern)是用來降低多個物件和類之間的通訊複雜性。這種模式提供了乙個中介類,該類通常處理不同類之間的通訊,並支援松耦合,使**易於維護。中介者模式屬於行為型模式。

優點: 1、降低了類的複雜度,將一對多轉化成了一對一。 2、各個類之間的解耦。 3、符合迪公尺特原則。

缺點:中介者會龐大,變得複雜難以維護。

使用場景: 1、系統中物件之間存在比較複雜的引用關係,導致它們之間的依賴關係結構混亂而且難以復用該物件。 2、想通過乙個中間類來封裝多個類中的行為,而又不想生成太多的子類。

/**

* 抽象**類

* @author xxj

* * 2023年3月2日 下午4:45:24

*/public abstract class abstracttelephone

//撥號

public abstract void call(string number,mediator mediator);

//收到**

public abstract void get(string number);

/*** @return the number

*/public string getnumber()

/*** @param number the number to set

*/public void setnumber(string number)

/*** @return the flag

*/public boolean isflag()

/*** @param flag the flag to set

*/public void setflag(boolean flag)

}

public class telephonea extends abstracttelephone 

@override

public void call(string number,mediator mediator)

@override

public void get(string number)

}

public class telephoneb extends abstracttelephone 

@override

public void call(string number,mediator mediator)

@override

public void get(string number)

}

中介類也可以抽象出來,也可以省略,我這裡省略了這一步。

/**

* 中介類

* @author xxj

* * 2023年3月2日 下午4:48:28

*/public class mediator

public void changenumbera()else }

public void changenumberb()else

}}

public class test 

}

設計模式 中介模式

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

設計模式 中介者模式

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

設計模式 中介者模式

在我們的日常生活中經常需要購買各種各樣的東西,房子 車子 生活用品等等。那麼我們並不會對各個產品都了解,所以銷售人員應運而生,他們了解產品,然後他們根據你的需求在向你們推薦符合你們要求的產品。這些銷售人員就相當於中介,處於客戶和產品之間,為你們搭橋牽線。這就是這篇需要講述的乙個設計模式 中介者模式。...