Linee guida per la progettazione di tipi

Dal punto di vista di CLR, esistono solo due categorie di tipi: tipi riferimento e tipi valore. Tuttavia allo scopo di una discussione inerente la progettazione di framework, i tipi vengono suddivisi in gruppi più logici, ognuno con regole di progettazione specifiche.

Le classi rappresentano il caso generale dei tipi riferimento. Costituiscono un’ampia quantità di tipi per la maggior parte dei framework. Le classi devono la loro popolarità al ricco set di funzionalità orientate agli oggetti che supportano e alla loro applicabilità generale. Le classi di base e le classi astratte sono gruppi logici speciali correlati all'estendibilità.

Le interfacce sono tipi che possono essere implementati sia dai tipi riferimento che dai tipi valore. Possono quindi fungere da radici di gerarchie polimorfiche di tipi riferimento e tipi valore. Inoltre, le interfacce possono essere usate per simulare più ereditarietà, concetto non supportato in modo nativo da CLR.

Gli struct sono il caso generale dei tipi valore e devono essere riservati per tipi semplici di piccole dimensioni, simili alle primitive del linguaggio.

Le enumerazioni sono un caso speciale di tipi valore usati per definire brevi set di valori, ad esempio giorni della settimana, colori della console e così via.

Le classi statiche sono tipi destinati a essere contenitori per i membri statici. Vengono comunemente usate per fornire scelte rapide da tastiera ad altre operazioni.

Delegati, eccezioni, attributi, matrici e raccolte sono tutti casi speciali di tipi riferimento destinati a usi specifici. Le linee guida per la loro progettazione e il loro utilizzo vengono descritti altrove in questo libro.

✔️ASSICURARSI che ogni tipo sia un set ben definito di membri correlati, non solo una raccolta casuale di funzioni non correlate.

In questa sezione

Scelta tra classi e struct
Progettazione di classi astratte
Progettazione di classi statiche
Progettazione di interfacce
Progettazione di struct
Progettazione di enum
Tipi annidati
Parti protette da copyright © 2005, 2009 Microsoft Corporation. Tutti i diritti sono riservati.

Ristampato con l'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2a edizione di Krzysztof Cwalina and Brad Abrams, pubblicato il 22 ottobre 2008 da Addison-Wesley Professional nella collana Microsoft Windows Development Series.

Vedi anche