Progettazione di classi statiche

Nota

Questo contenuto è ristampato con l'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Tale edizione è stata pubblicata nel 2008 e il libro è stato interamente revisionato nella terza edizione. Alcune delle informazioni contenute in questa pagina potrebbero non essere aggiornate.

Una classe statica è definita come una classe contenente solo membri statici (naturalmente oltre ai membri dell'istanza ereditati da System.Object ed eventualmente un costruttore privato). Alcuni linguaggi forniscono il supporto integrato per le classi statiche. In C# 2.0 e versioni successive, quando una classe viene dichiarata statica, è sealed e astratta, e non è possibile eseguire l'override o dichiarare alcun membro dell'istanza.

Le classi statiche rappresentano un compromesso tra la pura progettazione orientata agli oggetti e la semplicità. Vengono comunemente usate per fornire collegamenti ad altre operazioni (ad esempio System.IO.File), titolari di metodi di estensione o funzionalità per cui non è autorizzato un wrapper completo orientato agli oggetti (ad esempio System.Environment).

✔️ USARE le classi statiche con moderazione.

Le classi statiche devono essere usate solo come classi di supporto per il core orientato agli oggetti del framework.

❌ NON CONSIDERARE le classi statiche come bucket vari.

❌ NON DICHIARARE o eseguire l'override dei membri dell'istanza nelle classi statiche.

✔️ DICHIARARE le classi statiche come sealed e astratte, e aggiungere un costruttore di istanza privata se il linguaggio di programmazione non dispone di supporto integrato per le classi statiche.

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