LoginViewがあり、そのデータコンテキストLoginViewModelに、ユーザー名/パスワードに基づいてユーザーを認証できるサービスを注入する必要があるとします。
ここで、アプリケーションの状態として、誰かがすでにログインしているが、ログアウトしているため、次のユーザーのログイン画面を再表示する必要があるとします。したがって、この時点でLoginViewModelのインスタンスが必要ですが、それを取得する方法がわかりません。
LoginViewModelをShellViewModelに挿入し、それを保持して再利用する必要がありますか?なぜ私がそれを使用していない間それをメモリに保持したいので、それは奇妙に思えます(もちろん、この場合は大したことではありませんが、他の場合にはそうなる可能性があります)。
LoginViewModelを作成する必要があるときはいつでも保持するために、認証サービスをShellViewModelに注入する必要がありますか?私のShellViewModelはこのサービスで何もする必要がないので、それは奇妙に思えます。これが答えである場合、表示される他のすべてのViewModelのShellViewModelにあらゆる種類のものを挿入します。
また、アプリケーションのルート以外の場所でDIコンテナを参照することは想定されていないか、ServiceLocatorパターンを実装することになっています。
確かに、今はかなり馬鹿げているし、答えを聞いたら顔を平手打ちするのは間違いない…だから何?