设计模式-中介者模式(三)

2023-05-04 15:48:32 浏览数 (1)

编写测试代码

代码语言:javascript复制
public class MediatorTest {
    public static void main(String[] args) {
        ConcreteMediator mediator = new ConcreteMediator();

        ColleagueSales sales = new ColleagueSales(mediator);
        ColleagueFinance finance = new ColleagueFinance(mediator);
        ColleagueMarket market = new ColleagueMarket(mediator);

        mediator.setSales(sales);
        mediator.setFinance(finance);
        mediator.setMarket(market);

        sales.send("We have a new customer!");
        finance.send("Please check the payment.");
        market.send("We need to start a new promotion.");
    }
}

在这个示例中,我们定义了一个抽象中介者类Mediator,它包含了一个抽象的send方法,用于将消息发送给同事对象。然后定义了具体中介者类ConcreteMediator,它实现了中介者接口,并负责协调各个同事对象之间的通信。

接着定义了一个抽象同事类Colleague,它包含了一个中介者对象,并定义了一个抽象的send方法和一个抽象的receive方法,分别用于发送和接收消息。最后,定义了具体同事类ColleagueSales、ColleagueFinance和ColleagueMarket,它们实现了同事接口,并与中介者对象进行通信。

在测试代码中,我们创建了ConcreteMediator对象和三个具体同事对象,然后将具体同事对象分别设置到中介者对象中。接着,我们分别调用具体同事对象的send方法,向其他同事对象发送消息。运行程序后,可以看到每个部门都收到了相应的消息。

总结:

中介者模式可以有效地降低系统中各个对象之间的耦合度,提高系统的灵活性和可维护性。通过将对象之间的通信集中处理,可以使系统更易于扩展和修改。在实际应用中,中介者模式常用于系统设计中复杂的交互

0 人点赞