Compartilhar via


Diretrizes de design de tipo

Da perspectiva clr, há apenas duas categorias de tipos — tipos de referência e tipos de valor — mas para fins de uma discussão sobre design de estrutura, dividimos tipos em grupos mais lógicos, cada um com suas próprias regras de design específicas.

Classes são o caso geral de tipos de referência. Eles representam a maior parte dos tipos na maioria dos frameworks. As classes devem sua popularidade ao conjunto avançado de recursos orientados a objetos que dão suporte e à sua aplicabilidade geral. Classes base e classes abstratas são grupos lógicos especiais relacionados à extensibilidade.

Interfaces são tipos que podem ser implementados por tipos de referência e tipos de valor. Eles podem, portanto, servir como raízes de hierarquias polimórficas de tipos de referência e tipos de valor. Além disso, as interfaces podem ser usadas para simular várias heranças, que não têm suporte nativo pelo CLR.

Estruturas são o caso geral de tipos de valor e devem ser reservadas para tipos pequenos e simples, semelhantes aos primitivos da linguagem.

Enumes são um caso especial de tipos de valor usados para definir conjuntos curtos de valores, como dias da semana, cores do console e assim por diante.

Classes estáticas são tipos destinados a serem contêineres para membros estáticos. Normalmente, eles são usados para fornecer atalhos para outras operações.

Delegados, exceções, atributos, matrizes e coleções são todos casos especiais de tipos de referência destinados a usos específicos e as diretrizes para seu design e uso são discutidas em outros lugares neste livro.

✔️ Verifique se cada tipo é um conjunto bem definido de membros relacionados, não apenas uma coleção aleatória de funcionalidades não relacionadas.

Nesta seção

Escolhendo entre classe e struct
Design de classe abstrato
Design de classe estática
Interface Design
Struct Design
Design de Enum
Tipos aninhados
Partes © 2005, 2009 Microsoft Corporation. Todos os direitos reservados.

Reimpresso por permissão da Pearson Education, Inc. de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition de Krzysztof Cwalina e Brad Abrams, publicado em 22 de outubro de 2008 pela Addison-Wesley Professional como parte da série Microsoft Windows Development Series.

Consulte também