Wpis z mikrobloga

Mam 3 oddzielne projekty do apki UWP.
Model: .net standard 2.0
ViewModel: net standard 2.0
View: UWP

I teraz odnosnke architektury MVVM mam parę pytań.
1. Projekt View ma referencje do ViewModel ale też Model. Czy to poprawne? W xaml nie używam modelu ale w xaml CS już tak żeby wstrzyknąć zależności do ViewModelu.
2. Aktualnie mam jeden view model ale planuje mieć ich kilka. Na ten moment w xaml.cs tworzę view model wraz ze wszystkimi zależnościami (bez frameworka, po prostu wywołując konstruktory). Potem do DataContext przypisuje view model. Czy takie podejście jest dobre? Jakie ma wady? Czy DataContext jest osobny dla kaxdego Page, UserControl itp? Bo wszędzie widzę że jak chce DI do view modelów to tylko framework ale w sumie po co mi framework jak to dla mnie kwestia wywolania paru konstruktorów?
#csharp
  • 2
@uzytkownikTHCE:

Ad. 1 : jeśli traktujesz to jako którąś implementację clean/architektury heksagonalnej/cebulki/portów i adapterów/zwał jak zwał, to jest to poprawne, bo zewnętrzne warstwy aplikacji mogą mieć referencje do wewnętrznych. Nigdy na odwrót.

Ad. 2 : UWP ciągnie za sobą legacy MVVMa prosto z czasów Silverlighta i WPFa, a te bebechy nie były pisane z myślą o kontenerach IOC i wzorcu Dependency Injection. Osobne viewmodele/data contexty dla osobnych stron albo kontrolek to
@Czesiowcy: dzięki za wyjaśnienie tego. Co do btw. planuje mieć też prosta wersję cli, póki co samo podzielenie projektu na 3 osobne części nie wymaga dużo poświęcenia nawet w małym projekcie, więc nic nie trace na takim podejściu.