Ho difficoltà con il design in un'applicazione MVVM WPF. In alcuni corsi che ho preso, dicono che avere un sacco di parametri in un costruttore è un odore di codice, ma non affrontano mai come affrontarlo.
In un mio progetto recente abbiamo utilizzato l'iniezione di dipendenza per fornire servizi che seguono un modello di adattatore dati. Ciascuna di queste classi è focalizzata su un tipo, come fornitore, dipendente, dettaglio, preventivo, richiesta di preventivo, ecc.
In questa applicazione i modelli di visualizzazione di alto livello non fanno molto, ma ospitano diversi modelli di visualizzazione, quali: dettagli, allegati di file, note, selezione del fornitore e requisiti del fornitore. Il costruttore per il modello di visualizzazione dettagli non elaborati occupa quasi tutti i servizi del costruttore, ma utilizza solo quei parametri per costruire i modelli di visualizzazione figlio.
Non ha senso che il modello di vista principale possa conoscere un modello di vista di dettaglio, perché il modello di vista principale è responsabile solo della navigazione di primo livello. Quindi quale approccio può essere usato per comporre i modelli di vista di alto livello senza molti parametri di costruzione, o non è una cattiva pratica in questo caso perché i modelli di vista di alto livello sono responsabili della composizione dei modelli di visualizzazione di basso livello?