Dobrý den. Na jedné z přednášek o Inversion of Control/Dependency Injection jsem slyšel, že resolvování by mělo proběhnout pouze na jednom místě na začátku aplikace. Dejme tomu, že mám nějaký Shell, ze kterého můžu zavolat DialogA a z DialogA můžu zavolat SubDialogA. S ohledem na MVVM pattern dialogy získávám přes nějakou WindowService pro konkrétní ViewModel. Na začátku do Shellu nainjektuju Factory, která vrací DialogAViewModel. Ten pak použiju k získání odpovídajícího dialogu (DialogA), který zobrazím. Chtěl bych se ale zeptat, jak se to řeší pro další úrovně? Odkud pak v DialogAViewModelu vezmu Factory pro SubDialogAViewModel, když už bych tam neměl použít DI kontejner? Jak by tedy měly vypadat ty Factory metody pro získání plnohodnotných ViewModelů i se všemi jejich závislostmi? Děkuji.
|