Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El nombre elegido para un espacio de nombres debería indicar la funcionalidad que proporcionan los tipos incluidos en el espacio de nombres. Por ejemplo, el espacio de nombres System.Net.Sockets contiene tipos que permiten a los desarrolladores utilizar sockets para realizar comunicaciones a través de las redes.
El formato general para un nombre de espacio de nombres es como se explica a continuación:
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
Por ejemplo: Microsoft.WindowsMobile.DirectX.
Prefije los nombres de espacios de nombres con un nombre de compañía para evitar que los espacios de nombres de distintas compañías tengan los mismos nombres y prefijos.
Utilice un nombre de producto estable, independiente de la versión, en el segundo nivel de un nombre de espacio de nombres.
No utilice las jerarquías de organización como base para los nombres usados en jerarquías de espacios de nombres, ya que los nombres de grupo dentro de las corporaciones tienen tendencia a que su duración sea limitada.
El nombre de los espacios de nombres es un identificador de larga duración que no varía. Con la evolución de las organizaciones, los cambios no deberían hacer que quedara obsoleto el nombre del espacio de nombres.
Utilice la grafía Pascal y separe los componentes del espacio de nombres con puntos (por ejemplo, Microsoft.Office.PowerPoint). Si su marca utiliza una grafía no tradicional, debería seguir la grafía definida por su marca, incluso aunque no sea exactamente igual que la grafía usual de los espacios de nombres.
Considere utilizar nombres plurales para los espacios de nombres cuando sea adecuado. Por ejemplo, utilice System.Collections en vez de System.Collection. Sin embargo, los nombres de marcas y acrónimos son excepciones a esta regla. Por ejemplo, utilice System.IO en vez de System.IOs.
No utilice el mismo nombre para un espacio de nombres y un tipo incluido en ese espacio de nombres. Por ejemplo, no utilice Debug para un nombre de espacio de nombres y proporcione en el mismo espacio de nombres una clase denominada Debug. Algunos compiladores requieren que los nombres de dichos tipos sean completos.
Conflictos de espacios de nombres y nombres de tipos
Si elige un nombre de espacio de nombres o de tipo que está en conflicto con un nombre existente, los usuarios de la biblioteca deberán calificar las utilizar referencias para los elementos afectados. Éste no debería ser el caso en la mayoría de los escenarios de desarrollo.
Algunas de las instrucciones presentadas en esta sección son pertinentes para las siguientes categorías de espacios de nombres:
Espacios de nombres de modelo de aplicación
Espacios de nombres de infraestructura
Espacios de nombres básicos
Grupos de espacios de nombres de tecnología
Los espacios de nombres de un modelo de aplicación proporcionan el conjunto de funcionalidad específico para una clase de aplicaciones. Por ejemplo, los tipos incluidos en los espacios de nombres System.Windows.Forms proporcionan la funcionalidad necesaria para escribir aplicaciones cliente de formularios Windows Forms. Los tipos incluidos en los espacios de nombres System.Web admiten la escritura de aplicaciones de servidor basadas en Web. En general, en la misma aplicación no se utilizan espacios de nombres de distintos modelos de aplicación, por lo que es menos probable que los desarrolladores que usan su biblioteca se vean afectados por conflictos de nombres.
Las aplicaciones de la infraestructura proporcionan compatibilidad especializada y raramente se hace referencia a ellas en el código de los programas. Por ejemplo, las herramientas de desarrollo de programas utilizan los tipos incluidos en los espacios de nombres *.Designer. Los espacios de nombres *.Permissions son otro ejemplo de espacios de nombres de la infraestructura. No es probable que los conflictos de nombres con los tipos de los espacios de nombres de la infraestructura afecten a los desarrolladores que utilizan su biblioteca.
Los espacios de nombres básicos son los espacios de nombres System.* (excepto los espacios de nombres de la aplicación y de la infraestructura). System y System.Text son ejemplos de espacios de nombres básicos. Debería hacer todo lo posible para evitar conflictos de nombres con los tipos incluidos en los espacios de nombres básicos.
Los espacios de nombres pertenecientes a una tecnología determinada tendrán los mismos identificadores de primer y segundo nivel (Company.technology.*). Debe evitar la existencia conflictos de nombres dentro de una tecnología.
Instrucciones generales para los espacios de nombres
No introduzca nombres de tipos genéricos como Element, Node, Log y Message. Hay una probabilidad muy alta de que provocaría conflictos de nombres de tipos en los escenarios comunes. Debería calificar los nombres de tipos genéricos (FormElement, XMLNode EventLog, SoapMessage).
Instrucciones para los espacios de nombres de la aplicación
No asigne el mismo nombre a los tipos incluidos en espacios de nombres dentro de un único modelo de aplicación.
Por ejemplo, si estuviera escribiendo una biblioteca de controles especiales para que la utilizaran desarrolladores de aplicaciones de Windows Forms, no debería introducir un tipo denominado Checkbox porque ya existe un tipo con este nombre para el modelo de aplicaciones (CheckBox).
Instrucciones para el espacio de nombres básico
No proporcione nombres de tipos que entrarían en conflicto con los de cualquier tipo de los espacios de nombres básicos.
Por ejemplo, no utilice Directory como nombre de tipo porque entraría en conflicto con el tipo Directory.
Instrucciones para el espacio de nombres de tecnología
No asigne nombres de tipos que estarían en conflicto con otros tipos incluidos en una única tecnología.
No introduzca conflictos de nombres de tipos entre los tipos incluidos en los espacios de nombres de tecnología y un espacio de nombres de modelo de aplicación (a menos que la tecnología no esté pensada para ser usada con el modelo de aplicaciones).
Portions Copyright 2005 Microsoft Corporation. Reservados todos los derechos.
Portions Copyright Addison-Wesley Corporation. Reservados todos los derechos.
Para obtener más información sobre las directrices de diseño, consulte “las instrucciones de diseño de Framework: Convenciones, frases realizadas y modelos para libro de bibliotecas reutilizables de .NET” de Krzysztof Cwalina y Brad Abrams, publicados por Addison-Wesley, 2005.
Vea también
Otros recursos
Instrucciones de diseño para desarrollar bibliotecas de clases