您好,登錄后才能下訂單哦!
中介者模式(Mediator Pattern)是一種設計模式,用于減少類之間的直接依賴,通過引入一個中介者類來協調它們之間的交互。在 Java 中,中介者模式可以幫助解決多對象交互問題,提高系統的靈活性和可維護性。
以下是如何使用中介者模式解決 Java 多對象交互問題的步驟:
public interface Mediator {
void sendMessage(String message, Colleague colleague);
}
import java.util.ArrayList;
import java.util.List;
public class ConcreteMediator implements Mediator {
private List<Colleague> colleagues = new ArrayList<>();
@Override
public void sendMessage(String message, Colleague colleague) {
// 根據消息內容和接收者,選擇合適的方式轉發消息
for (Colleague c : colleagues) {
if (!c.equals(colleague)) {
c.notify(message);
}
}
}
public void addColleague(Colleague colleague) {
colleagues.add(colleague);
}
}
public abstract class Colleague {
protected Mediator mediator;
public Colleague(Mediator mediator) {
this.mediator = mediator;
}
public abstract void notify(String message);
}
public class ConcreteColleagueA extends Colleague {
public ConcreteColleagueA(Mediator mediator) {
super(mediator);
}
@Override
public void notify(String message) {
System.out.println("ConcreteColleagueA received message: " + message);
// 處理消息,并可能需要向其他同事類發送消息
mediator.sendMessage("Hello from ConcreteColleagueA", this);
}
}
public class Client {
public static void main(String[] args) {
Mediator mediator = new ConcreteMediator();
Colleague colleagueA = new ConcreteColleagueA(mediator);
Colleague colleagueB = new ConcreteColleagueB(mediator);
mediator.addColleague(colleagueA);
mediator.addColleague(colleagueB);
// 通過中介者發送消息
mediator.sendMessage("Hello from Client", colleagueA);
}
}
通過使用中介者模式,我們可以將多對象之間的交互邏輯集中在一個中介者類中,從而降低類之間的耦合度,提高系統的靈活性和可維護性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。