MainViewModelからSecondViewModelをインスタンス化しようとしています。これは、IoCContainerに登録されているサービスとMainVMのオブジェクトである2番目のパラメーターを挿入します。
コードはこの種のものです:
class MainViewModel
{
public MainViewModel()
{
}
private string message = "the message";
public string Message { get; set; }
}
class SecondViewModel
{
public SecondViewModel(IService service, string message)
{
}
}
これで、IoCコンテナにSecondViewModelFactory(サービスインスタンスを運ぶ)をMainViewModelに注入できるので、それを介してSVMを作成できることがわかりましたが、IServiceの実装が非常に重く、したくない場合はどうなりますか?インスタンス化しますが、本当に必要な場合。
また、同様の方法で他のViewModelをインスタンス化する必要がある場合はどうなりますか?大量のVMFactoriesとコンストラクターのパラメーターを作成する必要がありますか?
また、汎用のViewModelFactoryを使用する場合は、作成されるかどうかに関係なく、すべてのViewModelに必要なすべてのサービスを渡すようにインスタンス化する必要があります。
私の場合のより良い解決策を知っていますか?