前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式-中介者模式(三)

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

原创
作者头像
堕落飞鸟
发布2023-05-04 15:48:32
1420
发布2023-05-04 15:48:32
举报
文章被收录于专栏:飞鸟的专栏

编写测试代码

代码语言: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方法,向其他同事对象发送消息。运行程序后,可以看到每个部门都收到了相应的消息。

总结:

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编写测试代码
  • 总结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档