Cómo: Crear diagramas de capas desde artefactos

En Visual Studio Ultimate, utilice los diagramas de capas para visualizar la arquitectura de alto nivel del sistema y asegurarse de que el código mantiene la coherencia con el diseño. Para ello, organice y asocie los artefactos de una solución de Visual Studio en grupos lógicos, abstractos o en capas. Estas capas describen las tareas principales que llevan a cabo los artefactos o los componentes principales del sistema.

Las flechas entre las capas representan las dependencias, que indican si las capas pueden usar la funcionalidad de otras capas. Para aplicar restricciones arquitectónicas en el código, describa las dependencias buscadas en el diagrama y, a continuación, valide el código con el diagrama. Si usa los diagramas de capas de este modo, puede hacer que el código resulte más fácil de entender, actualizar, reutilizar y mantener.

Elementos en diagramas de capas

Para obtener más información sobre los diagramas de capas, vea los temas siguientes:

En este tema

  • Crear un diagrama de capas

  • Cree capas a partir de artefactos existentes

  • Administrar vínculos entre capas y artefactos

  • Realizar ingeniería inversa de dependencias existentes

  • Actualizar el diagrama de capas para mostrar el diseño previsto

  • Cambiar el aspecto de los elementos del diagrama

Crear un diagrama de capas

Los diagramas de capas deben crearse dentro de un proyecto de modelado. Puede agregar un nuevo diagrama de capas a un proyecto de modelado existente o bien puede crear otro modelado en la solución para el nuevo diagrama de capas.

Para agregar un nuevo diagrama de capas a un proyecto de modelado

  1. En el menú Arquitectura, haga clic en Nuevo diagrama.

  2. En Plantillas, haga clic en Diagrama de capas.

  3. Especifique un nombre para el diagrama.

  4. En Agregar a proyecto de modelado, busque y seleccione un proyecto de modelado existente en la solución.

    O bien

    Haga clic en Crear un nuevo proyecto de modelado para agregar un nuevo proyecto de modelado a la solución.

    Nota

    Los diagramas de capas solo pueden existir dentro de un proyecto de modelado. Sin embargo, pueden vincularse a cualquier artefacto que exista en cualquier parte de la solución.

También puede copiar un diagrama de capas existente dentro del mismo proyecto de modelado.

Nota

No agregue, arrastre ni copie un diagrama de capas de un proyecto de modelado a otro, ni a otra ubicación de la solución. Un diagrama de capas que se copia de esta manera tendrá las mismas referencias que el diagrama original, incluso si se modifica. Esto impide que la validación de capas se haga correctamente y es posible que cause otros problemas, como la pérdida de elementos u otros errores al intentar abrir el diagrama.

Para copiar un diagrama de capas, siga estos pasos:

Para copiar un diagrama de capas existente

  1. Agregue un nuevo diagrama de capas al proyecto de modelado.

  2. Copie los elementos del diagrama de capas de origen en el nuevo diagrama.

Crear capas a partir de artefactos

Puede crear capas a partir de artefactos de una solución de Visual Studio, como proyectos, archivos de código, espacios de nombres, clases y métodos. Esto crea automáticamente vínculos entre esas capas y los artefactos, que se incluyen en el proceso de validación de capas. También puede vincular capas a algunos tipos de artefactos que no admiten la validación de capas. Por ejemplo, puede vincular archivos, como documentos de Word o presentaciones de PowerPoint, a las capas. Esto es útil para asociar una capa a especificaciones o planes. Para ver si un artefacto vinculado admite la validación, abra el Explorador de capas y examine la propiedad Admite validación del artefacto. Para obtener más información, vea Managing Links to Artifacts.

Cada capa aparece como un rectángulo en el diagrama y puede contener capas anidadas que describen tareas más detalladas. Para obtener más información sobre los modelos de capas, visite Patterns & Practices.

El número de una capa indica el número de artefactos vinculados a ella. Sin embargo, cuando lea este número, recuerde lo siguiente:

  • Si una capa se vincula a un artefacto que contiene otros artefactos, pero no se vincula directamente a estos otros artefactos, el número incluye únicamente el artefacto vinculado. Sin embargo, los demás artefactos se incluyen para el análisis durante la validación de capas.

    Por ejemplo, si una capa está vinculada a un solo espacio de nombres, el número de artefactos vinculados es 1, aunque el espacio de nombres contenga clases. Si la capa tiene también vínculos a cada clase del espacio de nombres, el número incluirá las clases vinculadas.

  • Si una capa contiene otras que están vinculadas a artefactos, la capa contenedora también está vinculada a esos artefactos, incluso aunque el número de la capa contenedora no los incluya.

Cuando cree un diagrama de capas, puede crear gráficos de dependencias como ayuda para explorar y entender el código. Estos gráficos ayudan a detectar clústeres, modelos, capas naturales y dependencias en el código. De este modo, le resultará más fácil asignar los artefactos a las capas. También puede usar el Explorador de arquitectura para examinar los espacios de nombres y las clases, que suelen corresponderse con los niveles existentes. Posteriormente, podrá usar diagramas de capas que le ayuden a actualizar el código.

Para obtener más información, vea los temas siguientes:

Use las tareas siguientes para crear capas:

Para

Siga estos pasos

Crear una capa para un único artefacto

  1. Arrastre el artefacto hasta el diagrama de capas desde cualquiera de los siguientes orígenes:

  2. Cambie el nombre de la capa para que refleje las responsabilidades del código asociado u otros artefactos.

Crear una única capa para todos los artefactos seleccionados

Arrastre todos los artefactos hasta el diagrama de capas al mismo tiempo.

Aparecerá una capa en el diagrama que estará vinculada a todos los artefactos.

Crear una capa para cada artefacto seleccionado

Mantenga presionada la tecla MAYÚS mientras arrastra al mismo tiempo todos los artefactos al diagrama de capas.

NotaNota
Si usa la tecla MAYÚS para seleccionar un intervalo de elementos, suelte la tecla después de seleccionar los artefactos.Cuando arrastre los artefactos al diagrama, vuelva a mantener la tecla presionada.

Aparecerá una capa para cada artefacto y cada capa estará vinculada a cada uno de los artefactos.

Agregar un artefacto a una capa

Arrastre el artefacto hasta la capa.

Crear una nueva capa que no tenga vínculos

En el Cuadro de herramientas, expanda la sección Diagrama de capas y, a continuación, arrastre una Capa hasta el diagrama de capas.

Para agregar varias capas, haga doble clic en la herramienta. Cuando finalice, haga clic en la herramienta Puntero o presione la tecla ESC.

– O bien –

Haga clic con el botón secundario en el diagrama de capas, elija Agregar y, a continuación, haga clic en Capa.

Crear capas anidadas

Arrastre una capa existente a otro nivel.

– O bien –

Haga clic con el botón secundario en una capa, elija Agregar y, a continuación, haga clic en Capa.

Crear una nueva capa que contenga dos o más capas existentes

Seleccione las capas, haga clic con el botón secundario en una capa seleccionada y, a continuación, haga clic en Agrupar.

Cambiar el color de una capa

Establezca la propiedad Color en el color que desee.

Especificar qué artefactos asociados a una capa no deben pertenecer a los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no pueden depender de los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespace Dependencies de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no deben pertenecer a uno de los espacios de nombres especificados

Escriba el espacio de nombres en la propiedad Required Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Administrar vínculos entre capas y artefactos

  1. En el diagrama de capas, haga clic con el botón secundario en una capa y, a continuación, haga clic en Ver vínculos.

    En el Explorador de capas se muestran los vínculos de artefacto de la capa seleccionada.

  2. Use las tareas siguientes para administrar estos vínculos:

Para

En el Explorador de capas

Eliminar el vínculo entre la capa y un artefacto

Haga clic con el botón secundario en el vínculo del artefacto y, a continuación, haga clic en Eliminar.

Mover el vínculo de una capa a otra

Arrastre el vínculo del artefacto a una capa del diagrama.

– O bien –

  1. Haga clic con el botón secundario en el vínculo del artefacto y, a continuación, haga clic en Cortar.

  2. En el diagrama de capas, haga clic con el botón secundario en la capa y, a continuación, haga clic en Pegar.

Copiar el vínculo de una capa a otra

  1. Haga clic con el botón secundario en el vínculo del artefacto y, a continuación, haga clic en Copiar.

  2. En el diagrama de capas, haga clic con el botón secundario en la capa y, a continuación, haga clic en Pegar.

Crear una nueva capa a partir del vínculo de un artefacto existente

Arrastre el vínculo del artefacto a un espacio en blanco del diagrama.

Compruebe que el artefacto vinculado admite la validación con el diagrama de capas.

Observe la columna Admite validación del vínculo del artefacto.

Realizar ingeniería inversa de dependencias existentes

Una dependencia existe cuando un artefacto que está asociado a una capa tiene una referencia a un artefacto que está asociado a otra capa. Por ejemplo, una clase de una capa declara una variable que tiene una clase en otra capa. Puede realizar ingeniería inversa de las dependencias existentes en los artefactos vinculados a las capas del diagrama.

Nota

No se puede realizar ingeniería inversa en las dependencias de ciertos tipos de artefactos. Por ejemplo, no se va a realizar ingeniería inversa en ninguna dependencia que tenga como origen o destino una capa vinculada a un archivo de texto. Para ver qué artefactos tienen dependencias en las que se puede realizar ingeniería inversa, haga clic con el botón secundario en una o varias capas y, a continuación, haga clic en Ver vínculos. En el Explorador de capas, observe la columna Admite validación. No se realizará ingeniería inversa en las dependencias de artefactos en los que esta columna muestra False.

Para realizar ingeniería inversa de las dependencias existentes entre capas

  • Seleccione una o varias capas, haga clic con el botón secundario en una capa seleccionada y, a continuación, haga clic en Generar dependencias.

Normalmente, verá algunas dependencias que no deberían existir. Puede editar estas dependencias para alinearlas con el diseño buscado.

Actualizar el diagrama de capas para mostrar el diseño previsto

Para mostrar los cambios que piensa realizar o la arquitectura que desea, actualice el diagrama de capas.

Para

Siga estos pasos

Eliminar una dependencia que no debería existir

Haga clic en la dependencia y, a continuación, presione ELIMINAR.

Cambiar o restringir la dirección de una dependencia

Establezca su propiedad Direction.

Crear nuevas dependencias

Use las herramientas Dependencia y Dependencia bidireccional.

Para dibujar varias dependencias, haga doble clic en la herramienta. Cuando finalice, haga clic en la herramienta Puntero o presione la tecla ESC.

Especificar qué artefactos asociados a una capa no pueden depender de los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespace Dependencies de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no deben pertenecer a los espacios de nombres especificados

Escriba los espacios de nombres en la propiedad Forbidden Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Especificar qué artefactos asociados a una capa no deben pertenecer a uno de los espacios de nombres especificados

Escriba el espacio de nombres en la propiedad Required Namespaces de la capa. Use un signo de punto y coma (;) para separar los espacios de nombres.

Cambiar el aspecto de los elementos del diagrama

Para que le resulte más fácil identificar las capas y dependencias o para analizarlas con los miembros del equipo, edite el aspecto y el diseño del diagrama de los siguientes modos:

  • Cambie el tamaño, la forma y la posición de las capas.

  • Cambie el color de las capas y las dependencias.

    1. Seleccione las capas o dependencias.

    2. Haga clic con el botón secundario en las capas o dependencias seleccionadas y, a continuación, haga clic en Propiedades.

    3. En la ventana Propiedades, cambie la propiedad Color.

Vea también

Conceptos

Visualizar código