そのため、アプリケーションからサービスロケーターを削除する方法について説明を求めています。
どのビューがアクティブで、どのビューが開いているかを認識し、新しいビューを作成するViewManagerServiceがあります。
現在、私のViewModelは、コンストラクターインジェクションを介してIViewManagerServiceをインジェクトします。これらのViewModelは、呼び出されたときに呼び出しを行うことができるICommandを公開します。
viewManager.Transition("MyCoolView", somePrimaryKey);
次に、ViewManagerServiceはサービスロケーターを使用して、キー「MyCoolView」を使用して新しいビューを検索およびインスタンス化します。キー文字列を使用する理由は、ViewをViewModelsから切り離すことができるようにするためです。ViewManagerServiceを他のアプリで使用できるように十分に汎用性を維持したいので、特定のIAbstractFactoryインターフェイスに依存させたくありません。
ヒント/提案はありますか?