Design de classe estática
Nota
Este conteúdo é reimpresso com permissão da Pearson Education, Inc., a partir de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Essa edição foi publicada em 2008 e, desde então, o livro foi totalmente revisto na terceira edição. Algumas das informações nesta página podem estar desatualizadas.
Uma classe estática é definida como uma classe que contém apenas membros estáticos (claro, além dos membros da instância herdados e System.Object , possivelmente, um construtor privado). Alguns idiomas fornecem suporte interno para classes estáticas. Em C# 2.0 e posteriores, quando uma classe é declarada estática, ela é selada, abstrata e nenhum membro da instância pode ser substituído ou declarado.
As classes estáticas são um compromisso entre o design orientado a objetos puro e a simplicidade. Eles são comumente usados para fornecer atalhos para outras operações (como System.IO.File), detentores de métodos de extensão ou funcionalidades para as quais um wrapper orientado a objeto completo é injustificado (como System.Environment).
✔️ USE classes estáticas com moderação.
As classes estáticas devem ser usadas apenas como classes de suporte para o núcleo orientado a objeto da estrutura.
❌ NÃO trate as classes estáticas como um balde diverso.
❌ NÃO declare ou substitua membros de instância em classes estáticas.
✔️ DECLARE classes estáticas como seladas, abstratas e adicione um construtor de instância privada se sua linguagem de programação não tiver suporte interno para classes estáticas.
© Partes 2005, 2009 Microsoft Corporation. Todos os direitos reservados.
Reimpresso com permissão da Pearson Education, Inc., de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition por Krzysztof Cwalina e Brad Abrams, publicado em 22 de outubro de 2008 por Addison-Wesley Professional como parte da Microsoft Windows Development Series.