2012-02-07 18 views
1

私はPrismにとってかなり新しいです。私はそれと共に出荷されているクイックスタートとネット上の他の例を勉強しています。それらのほとんどすべては、モジュールがどの地域にどのような視点が入るのかを認識させます。通常、モジュールのInitalizeメソッドには、次のような行があります。プリズム、領域をビューにマッピング

RegionManager.Regions["LeftRegion"].Add(fundView); 

私は非常に不快であると感じます。 similar discussionがありますが、このようなマッピングを定義するのはシェルコンポーネントの責任でなければならないと思います。しかし、私はそのようなアプローチの例を見つけることができず、ブートストラップがそのようなマッピングを入れる正しい場所であるかどうかはわかりません。

このアプローチは完全に間違っていますか?

答えて

0

何も間違っていません。しかし、シェル/ブートストラップを持つことは意味をなさない(設計上、ホストするアプリケーションについて何も知らない)、どのビューがどの領域に入るのかがわかる。

モジュールを特定のフォルダに追加するだけで拡張できるアプリケーションを考えてみましょう。モジュールがビューのどこに存在するかを知っているというアプローチに従うと(マッピングはInitialize()で行われます)、これは問題ありません。私は最初のプリズムアプリケーションをそのように設計しました。

しかし、マッピングがシェルで実行されている場合は、別のモジュールを追加するときにシェル(モジュールではなく基本アプリケーションの一部)を更新する必要があります。これは疎結合のパラダイムに反する。それに加えて、すべてのモジュール配置のための1つの基本アプリケーションを作成する必要があります。そしてあなたがカバーしなければならない順列(2 ^モジュール数)があります。その結果、Prismを使用して得た柔軟性が失われます。

関連する問題