10

私は頭の中で WPF ビジネス アプリケーションを具体化していますが、私の興味をかき立てたのは、それを信じられないほどモジュール化する方法です。たとえば、私のメイン アプリケーションには、インターフェイスの開始、モジュールの読み込み、サーバーへの接続などの基本が含まれているだけです。これらのモジュールは、クラス ライブラリの形式で、独自のロジックと WPF ウィンドウを含みます。モジュールは独自のリソース ディクショナリを定義でき、すべてが共通のブラシなどのためにメイン アプリケーションのリソース ディクショナリから取得できます。

この性質のシステムを実装する最良の方法は何ですか? ロードするモジュールがユーザー インターフェイスとロジックのほぼすべての側面を変更できるようにするには、メイン インターフェイスをどのように構築する必要がありますか?

かなり漠然とした質問であることは承知していますが、一般的な意見とブレインストーミングを求めているだけです。

ありがとう!

4

3 に答える 3

9

コンポジットクライアントアプリケーションガイダンスを確認してください

複合アプリケーションライブラリは、アーキテクトと開発者が次の目的を達成できるように設計されています。

WPFまたはSilverlightを使用して、独立したチームが構築、アセンブル、およびオプションで展開できるモジュールから複雑なアプリケーションを作成します。

チーム間の依存関係を最小限に抑え、チームがユーザーインターフェイス(UI)の設計、ビジネスロジックの実装、インフラストラクチャコードの開発などのさまざまな分野に特化できるようにします。

独立したチーム間での再利用性を促進するアーキテクチャを使用します。

すべてのチームが利用できる共通のサービスを抽象化することにより、アプリケーションの品質を向上させます。

新しい機能を段階的に統合します。

于 2009-03-31T20:24:25.107 に答える
2

まず、SharpDevelopの実装に興味があるかもしれません。これは、AddInTree として知られる独自のアドイン システムに基づいています。これは別のプロジェクトであり、独自のソリューション内で無料で使用できます。すべてがさまざまなアドインに分割されており、xml ファイルを使用してアドインを簡単に追加/削除/構成できます。SharpDevelop はオープン ソース プロジェクトであるため、インフラストラクチャの導入方法や、サービス バスとクロスアドインの統合について調べる機会があります。コア アドイン ツリーは、問題なく WPF プロジェクトに簡単に移動できます。

次のオプションは、前述の「複合クライアント アプリケーション ガイダンス」(別名Prism、別名CompositeWPF ) を使用することです。Unity (オブジェクト ビルダー) のすぐに使えるサポート、イベント アグリゲーション、および実装された一連の貴重なデザイン パターンを取得できます。

低レベルの設計とアーキテクチャを自分で実行したい場合は、MEFが最適です (ただし、3 つすべてを使用する場合は、個人的にはこれが気に入っています)。これが VS 2010 のベースになるものなので、プロジェクトが今後サポートを失うことはないと確信できるかもしれません。

私のアドバイスは、これらのアプローチについて詳しく説明し、自分のニーズとプロジェクトのニーズに完全に適合する最適で効率的なアプローチを選択することです。

于 2009-04-03T06:56:53.663 に答える
1

プリズムを見てください

于 2009-03-31T20:25:47.430 に答える