中介者模式(Mediator Pattern)是一种行为型设计模式,它可以通过将对象之间的通信集中处理来减少对象之间的耦合度,从而提高系统的灵活性和可维护性。在中介者模式中,所有的对象之间通过一个中介者对象进行通信,而不是直接相互引用。这样,每个对象都只需要与中介者对象进行通信,而不需要与其他对象直接通信,从而使得系统的复杂度降低,耦合度减少。
下面我们通过一个简单的Java示例来演示中介者模式的使用。
假设有一家卖房地产的公司,公司内部有多个部门,包括销售部门、财务部门、市场部门等。每个部门之间需要协调工作,进行信息的交换和共享。为了避免部门之间产生紧密的耦合关系,我们可以使用中介者模式来设计该公司的内部通信机制。
代码实现:
public abstract class Mediator {
public abstract void send(String message, Colleague colleague);
}
public class ConcreteMediator extends Mediator {
private ColleagueSales sales;
private ColleagueFinance finance;
private ColleagueMarket market;
public void setSales(ColleagueSales sales) {
this.sales = sales;
}
public void setFinance(ColleagueFinance finance) {
this.finance = finance;
}
public void setMarket(ColleagueMarket market) {
this.market = market;
}
@Override
public void send(String message, Colleague colleague) {
if (colleague == sales) {
finance.receive(message);
market.receive(message);
} else if (colleague == finance) {
sales.receive(message);
market.receive(message);
} else if (colleague == market) {
sales.receive(message);
finance.receive(message);
}
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。