Prism Libraryは、設計者と開発者が、Model-View-ViewModelのパターンを使用するWindows Presentation Foundation (WPF)のための、複合アプリケーションを作成するのに役立ちます。Prismライブラリは、WPFで、多くのアプリケーションのスタイルを構築したいことをサポートできます。しかし、それは、主に、別々に構成されるアプリケーションのために、構築されます。1つの統合したユーザー・インターフェイス(UI)を作成するために、互いに動作する完全に機能する断片です。多くの場合、複合アプリケーションとして参照されます。Prism Libraryは、実証済みのデザイン・パターンを使用して、アプリケーションの開発を加速します。
Prism Libraryは、主に、設計者に役立つように設計されています。そして、開発者は、次に示す、達成する必要があるアプリケーションを作成します。:
- モジュールや部品が、協力するにもかかわらず、独立して構成されるクライアントを構築します。
- モジュール作成者の懸念をシェル開発者の懸念から分離します。;これを行うことによって、事業部門は、WPFのアーキテクチャの代わりに、ドメイン固有のモジュールを開発することに、集中することができます。
- Model-View-ViewModel(MVVM)のような、プレゼンテーション・モデル・パターンのためのサポートを通して、プレゼンテーション、プレゼンテーション・ロジックとアプリケーション・モデルの懸念を分離します。
- 一貫して、高品質の統合アプリケーションを作成するための、設計上の基盤構造を使用します。
Prism Libraryで、あなたのアプリケーションを構築するとき、あなたは、Prism LibraryとUnityアプリケーション・ブロック(Unity)のためのUnity拡張、あるいは、Prism LibraryとMEFのための拡張管理フレームワーク(MEF)拡張を使用するかもしれません。これらは、次の図に示すように、WPFのための.NET Framework 4.5で構築されます。
Prism Libraryは、WPF基盤上で、複合、そして、非複合の両方のアプリケーションを構築するための、共通の要求に対処します。全体として、 Prism Libraryは、これらの必要性に対処するために、サービスとコンポーネントを与えることによって、開発を加速します。
あなたが、すぐにPrismを利用できるために、Prism Libraryは、コンパイルへの必要性なしで、そして、ソースとして、NuGetパッケージによって署名したバイナリを発送します。この場合、あなたは、修正を作成すること、あるいは、それが、実際に、どのように動作するか確かめることを望みます。
NuGetを使用、そして、ライブラリ・ソース・コードを呼び出して、参照を追加する
Add Reference using NuGet and Accessing the Library Source Code
Prismのためのに、NuGetを探すことによって、あなたのコードのPrismバイナリに、参照を追加します。現在のNugetパッケージのリストを参照してください。
Prism Libraryの構成
Organization of the Prism Library
- Prism。このアセンブリには、すべてのサポートされたプラットホームで共有されているPrismの中心的な機能が含まれています。 これが、含まれています。:
- BindableBase、PropertySupport、ViewModelLocationProviderのような、MVVMクラス
- DelegateCommandとCompositeCommand..が含まれるコマンド
- モジュールの間の疎く結合したメッセージを送信することを助けるインターフェイスとコンポーネント。コンポーネントは、PubSubEventsとEventAggregatorが含まれています。
- Prism.Wpf.このアセンブリは、インターフェイスと複合アプリケーションを構築するために役立つコンポーネントが含まれています。これらのコンポーネントは、ModuleManager、ModuleCatalogとBootstrapperが含まれています。さらに、このアセンブリには、複数の部品から。ユーザー・インターフェイスを構成するのに役立つRegionManagerコンポーネントが含まれています。それは、また、UIに基づいたBlend for Visual Studio 2013のビヘイビアと一緒に、対話のためのビヘイビアとアクションが含まれています。(Blend SDKで利用できます)、大部分は、MVVMパターンのサポートに組み込まれています。これは、InteractionRequest、InteractionRequestTrigger、ConfirmationとNotificationが含まれています。加えて、PopupWindowActionは、InteractionRequestTriggerに対応しています。
- Prism.Unity.このアセンブリは、Prism LibraryでUnityアプリケーション・ブロック(Unity)を使用するコンポーネントを提供します。これらのコンポーネントは、UnityBootstrapperとUnityServiceLocatorAdapterが含まれています。
- Prism.Mef.このアセンブリは、Prism Libraryと一緒に、拡張管理フレームワーク(MEF)を使用するコンポーネントを提供します。これらのコンポーネントは、MefBootstrapperとMefServiceLocatorAdapterが含まれています。
- Prism.Autofac.このアセンブリは、Prism Libraryと一緒にAutofac依存関係注入コンテナを使用するコンポーネントを提供します。これらのコンポーネントには、AutofacBootstrapperとAutofacServiceLocatorAdapterが含まれています。
- Prism.StructureMap.このアセンブリは、Prism Libraryと一緒にStructureMap依存関係注入を使用するコンポーネントを提供します。これらのコンポーネントには、StructureMapBootstrapperとStructureMapServiceLocatorAdapterが含まれています。
- Prism.Ninject.このアセンブリは、Prism Libraryと一緒にNinject依存関係注入を使用するコンポーネントを提供します。これらのコンポーネントには、NinjectBootstrapperとNinjectServiceLocatorAdapterが含まれています。
Prism Libraryソース
The Prism Library Source
Prism、Prism.Wpf、Prism.Unity、Prism.Mef、Prism.Autofac、Prism.StructureMapとPrism.Ninjectアセンブリのためのソースは、Prismリポジトリが分岐をもつPrismLibraryフォルダで見つかります。これらのアセンブリは、WPFアプリケーションを対象とします。
ライブラリを変更する
Modifying the Library
あなたが、Prism Libraryを変更したい場合、あなたは、あなたの独自のバージョンのバイナリに、NuGet参照アセンブリを置き換えることができます。
テストを実行する
Running the Tests
あなたが、Prism Libraryを変更、そして、検証したい場合、既存の機能は、破壊されず、プロジェクトのための単体テストを実行します。すべてのデスクトップユニットテストを実行するには、PrismLibrary.slnソリューション・ファイルで、Testメニューで、Runを指します。そして、その次に、All Tests in Solutionをクリックします。
詳細情報
More Information
Prismのコミュニティの場所は以下の通りです:
- Prism: https://github.com/PrismLibrary/Prism.
- Issues: https://github.com/PrismLibrary/Prism/issues.
- Support: http://stackoverflow.com/questions/tagged/prism.
Unityの詳細については、以下を参照してください。:
- MSDNの「Unityアプリケーション・ブロック」:http://www.msdn.com/unity.
- CodePlexの上のUnityコミュニティ・サイト:http://www.codeplex.com/unity.
MEFの詳細については、以下を参照してください。:
- MSDNの「Managed Extensibility Frameworkの概要」。
- CodePlexの上のMEFコミュニティ・サイト:http://mef.codeplex.com/.
サービス・ロケーターの詳細については、CodePlex上の共通サービス・ロケーターを参照してください。: http://commonservicelocator.codeplex.com/.