Home > C# > Toolkit > UIパターン > Prism > Prismドキュメント > Prism 6

WPFのためのPrism Library

新規作成日 2017-11-26
最終更新日

原文「Prism Library for WPF

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とUnityアプリケーション・ブロック(Unity)のためのUnity拡張とPrism LibraryとMEFのための拡張管理フレームワーク(MEF)拡張

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の中心的な機能が含まれています。 これが、含まれています。:
  • BindableBasePropertySupportViewModelLocationProviderのような、MVVMクラス
  • DelegateCommandCompositeCommand..が含まれるコマンド
  • モジュールの間の疎く結合したメッセージを送信することを助けるインターフェイスとコンポーネント。コンポーネントは、PubSubEventsEventAggregatorが含まれています。
  • Prism.Wpf.このアセンブリは、インターフェイスと複合アプリケーションを構築するために役立つコンポーネントが含まれています。これらのコンポーネントは、ModuleManagerModuleCatalogとBootstrapperが含まれています。さらに、このアセンブリには、複数の部品から。ユーザー・インターフェイスを構成するのに役立つRegionManagerコンポーネントが含まれています。それは、また、UIに基づいたBlend for Visual Studio 2013のビヘイビアと一緒に、対話のためのビヘイビアとアクションが含まれています。(Blend SDKで利用できます)、大部分は、MVVMパターンのサポートに組み込まれています。これは、InteractionRequestInteractionRequestTriggerConfirmationNotificationが含まれています。加えて、PopupWindowActionは、InteractionRequestTriggerに対応しています。
  • Prism.Unity.このアセンブリは、Prism LibraryでUnityアプリケーション・ブロック(Unity)を使用するコンポーネントを提供します。これらのコンポーネントは、UnityBootstrapperUnityServiceLocatorAdapterが含まれています。
  • Prism.Mef.このアセンブリは、Prism Libraryと一緒に、拡張管理フレームワーク(MEF)を使用するコンポーネントを提供します。これらのコンポーネントは、MefBootstrapperMefServiceLocatorAdapterが含まれています。
  • Prism.Autofac.このアセンブリは、Prism Libraryと一緒にAutofac依存関係注入コンテナを使用するコンポーネントを提供します。これらのコンポーネントには、AutofacBootstrapperAutofacServiceLocatorAdapterが含まれています。
  • 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のコミュニティの場所は以下の通りです:

Unityの詳細については、以下を参照してください。:

MEFの詳細については、以下を参照してください。:

サービス・ロケーターの詳細については、CodePlex上の共通サービス・ロケーターを参照してください。: http://commonservicelocator.codeplex.com/.

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」