Severity: Warning
File: src/Servy.Manager/ViewModels/MainViewModel.cs
Lines: 342–348
Description:
MainViewModel directly instantiates PerformanceViewModel, ConsoleViewModel, and DependenciesViewModel in its constructor. This tightly couples MainViewModel to all three child VMs' constructors and their (App)Application.Current dependency. Replacing a child VM with a different implementation or testing MainViewModel in isolation requires constructing the concrete child VMs. No interfaces exist for these child VMs.
Suggested fix:
Accept the child ViewModels as constructor parameters (or define interfaces). This would enable composition via DI and isolated testing of MainViewModel.
Severity: Warning
File:
src/Servy.Manager/ViewModels/MainViewModel.csLines: 342–348
Description:
MainViewModeldirectly instantiatesPerformanceViewModel,ConsoleViewModel, andDependenciesViewModelin its constructor. This tightly couplesMainViewModelto all three child VMs' constructors and their(App)Application.Currentdependency. Replacing a child VM with a different implementation or testingMainViewModelin isolation requires constructing the concrete child VMs. No interfaces exist for these child VMs.Suggested fix:
Accept the child ViewModels as constructor parameters (or define interfaces). This would enable composition via DI and isolated testing of
MainViewModel.