Instrucciones de diseño de tipos

Desde la perspectiva de CLR, solo hay dos categorías de tipos (tipos de referencia y tipos de valor) pero para la finalidad de un debate sobre el diseño del marco, dividimos los tipos en grupos más lógicos, cada uno con sus propias reglas de diseño específicas.

Las clases son el caso general de los tipos de referencia. Componen la mayor parte de los tipos en la mayoría de los marcos. Las clases deben su popularidad al amplio conjunto de características orientadas a objetos que admiten y a su aplicabilidad general. Las clases base y las clases abstractas son grupos lógicos especiales relacionados con la extensibilidad.

Las interfaces son tipos que tanto los tipos de referencia como los tipos de valor pueden implementar. Por tanto, pueden actuar como raíces de jerarquías polimórficas de tipos de referencia y tipos de valor. Además, las interfaces se pueden usar para simular la herencia múltiple, que no es compatible de forma nativa con CLR.

Los structs son el caso general de los tipos de valor y se deben reservar para tipos pequeños y simples, similares a los primitivos del lenguaje.

Las enumeraciones son un caso especial de tipos de valor que se usan para definir breves conjuntos de valores, como los días de la semana, los colores de la consola, etc.

Las clases estáticas son tipos diseñados para ser contenedores de miembros estáticos. Normalmente se utilizan para proporcionar accesos directos a otras operaciones.

Los delegados, las excepciones, los atributos, las matrices y las colecciones son casos especiales de tipos de referencia destinados a usos específicos, y las instrucciones para su diseño y uso se tratan en otra parte de este libro.

✔️ DEBE asegurarse de que cada tipo es un conjunto bien definido de miembros relacionados, no solo una colección aleatoria de funcionalidad no relacionada.

En esta sección

Elegir entre clases y structs
Diseño de clases abstractas
Diseño de clases estáticas
Diseño de interfaces
Diseño de estructuras
Diseño de enumeraciones
Tipos anidados
Portions © 2005, 2009 Microsoft Corporation. Todos los derechos reservados.

Material reimpreso con el consentimiento de Pearson Education, Inc. y extraído de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition (Instrucciones de diseño de .NET Framework: convenciones, expresiones y patrones para bibliotecas .NET reutilizables, 2.ª edición), de Krzysztof Cwalina y Brad Abrams, publicado el 22 de octubre de 2008 por Addison-Wesley Professional como parte de la serie Microsoft Windows Development.

Vea también