Collection generiche come proprietà

di Stefano Mostarda, in Design Patterns,

Tempo fa stavo realizzando un primo prototipo in .NET 2.0 e la cosa che mi piaceva molto era l'utilizzo di collection generiche che mi evitavano di dover creare una classe specifica per ogni tipo di collection. Questo significa che nelle mie classi avevo proprietà di tipo List<Classe>.

All'inizio la cosa non era male, meno codice, meno classi, ma la sintassi dopo un pò ne risentiva e soprattutto mi sono accorto che ne risentiva anche la leggibilità. Certo, List<Classe> e ClasseCollection non sono molto diverse a prima vista, ma se devo fare un metodo di ricerca specifico? E se devo fare dei sort complessi? Le collezioni generiche unite a comparer generici aiutano molto, ma alla fine spargerli nel codice peggiorava leggibilità e manutenibilità.

Da quel momento ho capito che le classi collection vanno create sempre facendole derivare da List<Classe> per risparmiare codice e creando metodi di ricerca, sort, etc specifici per ogni collection. Al loro interno, le collection eseguono i comandi utilizzando i metodi generici quindi il guadagno in termini di presazioni è poco. ma incapsulando il codice in questo modo si ha la potenza, la tipizzazione e le prestazioni delle collection generiche mantenendo anche la mentalità di sviluppo del modello pre-generics.

Stay tuned...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese