これはつまらないように聞こえますが、MSDNには空の情報がたくさんあるようです。このリンクのようにServiceLocator。UnityとPrismを使ったプロジェクトに参加しました。このようにWPFUserControlが渡されるコードでそれを見つけました
var alert = ServiceLocator.Current.GetInstance<AlertControl>();
これはUnityの解決策のようなものですか?
これはつまらないように聞こえますが、MSDNには空の情報がたくさんあるようです。このリンクのようにServiceLocator。UnityとPrismを使ったプロジェクトに参加しました。このようにWPFUserControlが渡されるコードでそれを見つけました
var alert = ServiceLocator.Current.GetInstance<AlertControl>();
これはUnityの解決策のようなものですか?
http://commonservicelocator.codeplex.com/
プロジェクトの説明から:
Common Service Locatorライブラリには、アプリケーションおよびフレームワークの開発者が参照できるサービスロケーションの共有インターフェイスが含まれています。ライブラリは、IoCコンテナとサービスロケーターの抽象化を提供します。ライブラリを使用すると、アプリケーションはハードリファレンスに依存せずに機能に間接的にアクセスできます。このライブラリを使用することで、サードパーティのアプリケーションとフレームワークが、特定の実装に縛られることなく、IoC /ServiceLocationを活用できるようになることが期待されます。
この抽象化は、そこにあるいくつかのIoCフレームワークによって実装されており、Unityはその1つです。それにもかかわらず、Unityはそのプロジェクトの所有者ではありません。
このように、たとえば、StructureMapはこれらのクラスの実装を提供するため、他のフレームワーク(パターンとプラクティスからのPrismなど)は他のIoCフレームワークと簡単に連携でき、Unity自体にバインドされません。