使用中介者模式的Netbeans平台项目——可能吗?



我想在我的netbeans平台模块化应用程序中使用中介设计模式(http://en.wikipedia.org/wiki/Mediator_pattern)。然而,我不确定如何在启动时做到这一点,因为似乎没有一个好方法来创建我的中介,然后将其注入每个模块。

有谁知道这样做的好方法吗?我必须求助于使用查找API或其他东西吗?

当谈到NetBeans平台和模块间通信时,大多数答案归结为查找:)

使用您提供的示例代码,我将执行以下操作
@ServiceProvider(service = Mediator.class)
class Mediator{..}

ServiceProvider注释是对ServiceLoader机制的NetBeans扩展,它可以自动将值放入META-INF/services文件夹中。

ButtonView类将被修改如下

class BtnView extends JButton implements Command {
    Mediator med = Lookup.getDefault().lookup(Mediator.class);
    BtnView(ActionListener al, Mediator m) {
        super("View");
        addActionListener(al);
        med = m;
        med.registerView(this);
    }
    public void execute() {
        med.view();
    }
}

我不是很熟悉Mediator模式,所以我希望我的理解能达到您理解示例的要求。

有关更多示例,请参阅这些站点

    NetBeans平台快速入门
  • NetBeans平台-如何将一个类注册为多个服务的提供者
  • NetBeans查找解释
  • NetBeans开发者常见问题解答-查找

相关内容

  • 没有找到相关文章

最新更新