NetBeansプラットフォームのモジュラーアプリでメディエーターデザインパターン(http://en.wikipedia.org/wiki/Mediator_pattern)を使用したいと思います。ただし、メディエーターを作成して各モジュールに挿入する良い方法がないように思われるため、起動時にこれを行う方法がわかりません。
誰かがこれを行うための良い方法を知っていますか?Lookup APIなどを使用する必要がありますか?
NetBeansプラットフォームのモジュラーアプリでメディエーターデザインパターン(http://en.wikipedia.org/wiki/Mediator_pattern)を使用したいと思います。ただし、メディエーターを作成して各モジュールに挿入する良い方法がないように思われるため、起動時にこれを行う方法がわかりません。
誰かがこれを行うための良い方法を知っていますか?Lookup APIなどを使用する必要がありますか?
NetBeans プラットフォームとモジュール間通信に関して言えば、ほとんどの答えはルックアップに要約されます :)
あなたが与えたサンプルコードを使用して、私は次のことを行います
@ServiceProvider(service = Mediator.class)
class Mediator{..}
ServiceProviderアノテーションは、META-INF/services フォルダーに値を配置する作業を自動化するServiceLoader メカニズムに対するNetBeans の拡張機能です。
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 パターンにあまり詳しくないので、この例を理解できる程度に私の理解が進むことを願っています。
その他の例については、これらのサイトを参照してください