Attualmente sto lavorando all'aggiornamento di alcuni vecchi progetti (cose ereditate) e continuo a correre su vari piccoli problemi con l'architettura. Ovvero classi monolitiche troppo strettamente accoppiate.
Un esempio al momento è un gigantesco oggetto "risultati" che assomiglia a:
public class Person
{
string Name;
string Address;
List<FavoriteThings> favorites;
}
public class FavoriteThings
{
List<ARGBColor> Colors;
List<Recipe> Food;
}
Alcuni di questi sono abbastanza profondi e alcune classi medio-grandi (20-50 oggetti)
La vista utilizza circa 15 campi in totale.
Quali principi descrivono meglio gli odori di codice che sto rilevando? SOLIDO? Ci sono dei veri motivi per avvicinarsi allo schema in questo modo? O è un anti-pattern? Voglio sapere se sto esaminando questo codice? O sono sul percorso di scrittura per voler estrarre / refactare questo significativamente a più di un patter MVVM con classi con informazioni minime esposte, se necessario.