Ho qui un'applicazione di gestione dei dipendenti Vb.Net. Ha dipendenti, manager, squadre, corsi di formazione e così via.
Il modo in cui l'applicazione viene impostata ora, i dati vengono letti dal database nell'evento di caricamento del modulo di avvio (frmMain) e conservati sotto forma di proprietà pubbliche. Dopo che tutte le altre forme (e ce ne sono molte) fanno riferimento a quelle liste (lista (di dipendente), lista di (squadra)) che utilizzano queste proprietà. Ad esempio
dim emp = frmMain.Employees.Find(Function(x) x.ID = 128) , or
dim team1 as new Team
frmMain.Teams.Add(team1)
Ritengo che questo sia un pessimo modo di risolvere questo problema, ma sono bloccato nel decidere come dovrebbe essere fatto.
Qualche classe singleton che manterrebbe tutte queste liste (ce ne sono molte) istanziate all'avvio dell'applicazione, o c'è un modo migliore per farlo?