0

ログイン コントロールを備えたツールバー モジュールを含む Silverlight Prism アプリケーションがあります。現在、Bootstrapper でInitializationMode.OnDemandに設定されたメイン リージョンのモジュールがあり、ツールバー モジュールでのログインが成功した後、ModuleManager.LoadModule()を介してモジュールをロードできます。ただし、これは基本的に、ログイン後にロードされるモジュールにツールバー モジュールを緊密に結合しているため、適切ではありません。

ここで質問です...これはベストプラクティスですか、それともツールバーモジュールからCompositePresentationEventを発生させ、シェルに適切なモジュールをロードさせるという行に沿って何かを追求する必要がありますか? または、他のオプションはありますか?私は Prism についてもっと学ぶためにこのアプリケーションを作成しています。できる限りベスト プラクティスに従っていることを確認したいと思っています。

4

1 に答える 1

1

この場合のEventAggregatorアプローチの方が好きです。1つのモジュールが他のモジュールについて知っているのは好きではありません。せいぜい、シェルは他のモジュールを認識している必要がありますが、そのようにクロストークするべきではありません。

これはシェルの責任であるため、これをシェル自体に焼き付けることを検討しましたか?それらが論理的に同じである場合、ツールバーを頻繁に交換する予定がない限り、それらを分離しておく理由はあまりありません。私は通常、メニューをシェルに焼き付け、モジュールがIMenuRegistryなどのサービスを介してメニューに貢献する方法を作成します。ただの提案。

于 2009-12-02T18:06:32.853 に答える