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.
Para visualizar la arquitectura lógica de alto nivel del sistema de software, cree un diagrama de dependency en Visual Studio. Para asegurarse de que el código sigue siendo coherente con este diseño, valide el código con un diagrama de dependencias. Puede crear diagramas de dependencias para proyectos de Visual C# y Visual Basic. Para ver qué ediciones de Visual Studio admiten esta característica, consulte Compatibilidad de edición con herramientas de arquitectura y modelado.
Un diagrama de dependencias le permite organizar Visual Studio elementos de solución en grupos lógicos y abstractos denominados layers. Puede usar capas para describir las tareas principales que realizan estos artefactos o los componentes principales del sistema.
Cada capa puede contener otras capas que describen tareas más detalladas. También puede especificar las dependencias previstas o existentes entre capas. Estas dependencias, representadas como flechas, muestran las capas que usan o pueden usar la funcionalidad representada por otras capas. Para mantener el control arquitectónico del código, muestre las dependencias deseadas en el diagrama y, a continuación, valide el código en el diagrama.
Vídeo: Validación de las dependencias de arquitectura en tiempo real
Creación de un diagrama de dependencias
Antes de crear un diagrama de dependencias, asegúrese de que la solución tiene un proyecto de modelado.
Importante
No agregue, arrastre ni copie un diagrama de dependencias existente de un proyecto de modelado a otro proyecto de modelado o a otro lugar de la solución. Esto conserva las referencias del diagrama original, incluso si cambia el diagrama. Esto también impide que la validación de capas funcione correctamente y podría provocar otros problemas, como elementos que faltan u otros errores al intentar abrir el diagrama.
En su lugar, agregue un nuevo diagrama de dependencias al proyecto de modelado. Copie los elementos del diagrama de origen en el nuevo diagrama. Guarde ambos, el proyecto de modelado y el nuevo diagrama de dependencias.
Agregar un nuevo diagrama de dependencias a un proyecto de modelado
Nota:
Se admiten diagramas de dependencias para proyectos de .NET Core a partir de la versión 16.2 de Visual Studio 2019.
Haga clic con el botón derecho en el proyecto de modelado en Explorador de soluciones y seleccione Agregar>Nuevo elemento.
En la ventana Agregar nuevo elemento , seleccione Diagrama de validación de dependencias, escriba un nombre para el diagrama en la parte inferior de la ventana y, a continuación, seleccione Agregar.
Arrastrar y colocar, o copiar y pegar, desde un mapa de código
Genere un mapa de código para la solución mediante el menú Arquitectura .
Considere la posibilidad de aplicar un filtro de mapa de código para quitar carpetas de solución y "Probar recursos" si solo desea aplicar dependencias en el código del producto.
En el mapa de código generado, quite el nodo "Externo" o expándalo para mostrar ensamblados externos, en función de si desea aplicar las dependencias del espacio de nombres. Elimine los ensamblados no obligatorios del mapa de código.
Agregue un elemento Diagrama de validación de dependencias al proyecto Validación de dependencias de la solución.
Seleccione todos los nodos del mapa de código (use Ctrl + A o use la selección de banda de goma presionando la tecla Mayús antes de hacer clic, arrastrar y soltar).
Arrastre y coloque, o copie y pegue, los elementos seleccionados en el nuevo diagrama de validación de dependencias.
Esto muestra la arquitectura de la aplicación actual. Decida lo que desea que la arquitectura sea y modifique el diagrama de dependencias en consecuencia.
Creación de capas a partir de artefactos
Puede crear capas a partir de Visual Studio elementos de solución, como proyectos, archivos de código, espacios de nombres, clases y métodos. Esto crea automáticamente vínculos entre capas y elementos, incluidos en el proceso de validación de capas.
Puede vincular capas a elementos que no admiten la validación, como documentos de Word o presentaciones de PowerPoint. Esto le permite asociar una capa con especificaciones o planes. También puede vincular capas a archivos de proyectos que se comparten entre varias aplicaciones, pero el proceso de validación no incluirá esas capas, que aparecen con nombres genéricos como "Capa 1" y "Capa 2".
Para ver si un elemento vinculado admite la validación, abra el Explorador de capas y examine la propiedad Supports Validation del elemento. Consulte Gestión de vínculos a artefactos.
| To | Siga estos pasos. |
|---|---|
| Creación de una capa para un único artefacto |
Importante: Arrastrar archivos binarios al diagrama de dependencias no agrega automáticamente sus referencias al proyecto de modelado. Agregue manualmente los archivos binarios que desea validar en el proyecto de modelado. Para agregar archivos binarios al proyecto de modelado
|
| Creación de una sola capa para todos los artefactos seleccionados | Arrastre todos los artefactos al diagrama de dependencias al mismo tiempo. Aparece una capa en el diagrama y está vinculada a todos los artefactos. |
| Creación de una capa para cada artefacto seleccionado | Mantenga presionada la tecla MAYÚS mientras arrastra todos los artefactos al diagrama de dependencias al mismo tiempo. Nota: Si usa la tecla MAYÚS para seleccionar un intervalo de elementos, suelte la clave después de seleccionar los artefactos. Presione y mantenga presionado de nuevo cuando arrastre los artefactos al diagrama. Aparece una capa para cada artefacto en el diagrama y está vinculada a cada artefacto. |
| Adición de un artefacto a una capa | Arrastre el artefacto a la capa. |
| Creación de una nueva capa desvinculada | En el Cuadro de herramientas, expanda la sección Diagrama de dependencias y, a continuación, arrastre una capa al diagrama de dependencias. Para agregar varias capas, haga doble clic en la herramienta. Cuando haya terminado, elija la herramienta Puntero o presione la tecla ESC . O bien Abra el menú contextual del diagrama de dependencias, elija Agregar y, a continuación, elija Capa. |
| Crear capas anidadas | Arrastre una capa existente a otra capa. O bien Abra el menú contextual de una capa, elija Agregar y, a continuación, elija Capa. |
| Cree una nueva capa que contenga dos o más capas existentes. | Seleccione las capas, abra el menú contextual de la selección y, a continuación, elija Agrupar. |
| Cambiar el color de una capa | Establezca su propiedad Color en el color que desee. |
| Especifique que los artefactos asociados a una capa no deben pertenecer a los espacios de nombres especificados. | Escriba los espacios de nombres de la propiedad Forbidden Namespaces de la capa. Use un punto y coma (;) para separar los espacios de nombres. |
| Especifique que los 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 punto y coma (;) para separar los espacios de nombres. |
| Especifique que los artefactos asociados a una capa deben pertenecer a uno de los espacios de nombres especificados. | Escriba el espacio de nombres en la propiedad Espacios de nombres obligatorios de la capa. Use un punto y coma (;) para separar los espacios de nombres. |
El número de una capa indica el número de artefactos vinculados a la capa. Sin embargo, al leer este número, recuerde:
Si una capa vincula a un artefacto que contiene otros artefactos, pero la capa no se vincula directamente a los demás artefactos, el número incluye solo el artefacto vinculado. Sin embargo, los demás artefactos están incluidos para su análisis durante la validación de capas.
Por ejemplo, si una capa está vinculada a un único espacio de nombres, el número de artefactos vinculados es 1, incluso si el espacio de nombres contiene clases. Si la capa también tiene vínculos a cada clase del espacio de nombres, el número incluirá las clases vinculadas.
Si una capa contiene otras capas vinculadas a artefactos, la capa de contenedor también está vinculada a esos artefactos, aunque el número de la capa de contenedor no incluya esos artefactos.
Administración de vínculos entre capas y artefactos
En el diagrama de dependencias, abra el menú contextual de la capa y elija Ver vínculos.
El Explorador de capas muestra los vínculos de artefacto para la capa seleccionada.
Use las siguientes tareas para administrar estos vínculos:
| To | En el Explorador de capas |
|---|---|
| Eliminación del vínculo entre la capa y un artefacto | Abra el menú contextual del vínculo del artefacto y, a continuación, elija Eliminar. |
| Mover el vínculo de una capa a otra | Arrastre el vínculo del artefacto a una capa existente en el diagrama. O bien 1. Abra el menú contextual del vínculo del artefacto y, a continuación, elija Cortar. 2. En el diagrama de dependencias, abra el menú contextual de la capa y, a continuación, elija Pegar. |
| Copiar el vínculo de una capa a otra | 1. Abra el menú contextual del vínculo del artefacto y, a continuación, elija Copiar. 2. En el diagrama de dependencias, abra el menú contextual de la capa y, a continuación, elija Pegar. |
| Creación de una nueva capa a partir de un vínculo de artefacto existente | Arrastre el vínculo del artefacto a un área en blanco del diagrama. |
| Compruebe que un artefacto vinculado admite la validación en el diagrama de dependencias. | Mira la columna Admitir validación para el vínculo al artefacto. |
Ingeniería inversa de dependencias existentes
Existe una dependencia dondequiera que un artefacto asociado a una capa tenga una referencia a un artefacto 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 de los artefactos que están vinculados a capas en el diagrama.
Nota:
Las dependencias no se pueden diseñar de forma inversa para determinados tipos de artefactos. Por ejemplo, ninguna dependencia se diseñará de forma inversa desde o en una capa vinculada a un archivo de texto. Para ver qué artefactos tienen dependencias que puede realizar ingeniería inversa, abra el menú contextual de una o varias capas y, a continuación, elija Ver vínculos. En el Explorador de capas, examine la columna Validación de Soportes. Las dependencias no se diseñarán de forma inversa para los artefactos para los que esta columna muestra False.
Seleccione una o varias capas, abra el menú contextual de una capa seleccionada y, a continuación, elija Generar dependencias.
Si ve algunas dependencias que no deben existir, puede editar estas dependencias para alinearlas con el diseño previsto.
Editar capas y dependencias para mostrar el diseño previsto
Para describir los cambios que planea realizar en el sistema o en la arquitectura prevista, edite el diagrama de dependencias:
| To | Realice estos pasos. |
|---|---|
| Cambiar o restringir la dirección de una dependencia | Establezca su propiedad Direction. |
| Creación de nuevas dependencias | Use las herramientas dependencia y dependencia bidireccional. Para dibujar varias dependencias, haga doble clic en la herramienta. Cuando haya terminado, elija la herramienta Puntero o presione la tecla ESC . |
| Especifique que los 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 punto y coma (;) para separar los espacios de nombres. |
| Especifique que los artefactos asociados a una capa no deben pertenecer a los espacios de nombres especificados. | Escriba los espacios de nombres de la propiedad Forbidden Namespaces de la capa. Use un punto y coma (;) para separar los espacios de nombres. |
| Especifique que los artefactos asociados a una capa deben pertenecer a uno de los espacios de nombres especificados. | Escriba el espacio de nombres en la propiedad Espacios de nombres obligatorios de la capa. Use un punto y coma (;) para separar los espacios de nombres. |
Cambio de cómo aparecen los elementos en el diagrama
Puede cambiar el tamaño, la forma, el color y la posición de las capas o el color de las dependencias editando sus propiedades.
Detección de patrones y dependencias en un mapa de código
Al crear diagramas de dependencias, también puede crear asignaciones de código. Estos diagramas pueden ayudarle a detectar patrones y dependencias mientras explora el código. Use Explorador de soluciones, vista de clases o examinador de objetos para explorar ensamblados, espacios de nombres y clases, que a menudo corresponden bien a las capas existentes. Para obtener más información sobre los mapas de código, consulte: