Diálogo Use diagramas de capas para diseñar la arquitectura de una aplicación y comprobar si el código está alineado con el diseño. Puede mantener un seguimiento del trabajo asociado con los modelos vinculando los elementos de trabajo de Team Foundation Server con elementos de modelo. Esto proporciona rastreabilidad entre los modelos, el IDE y el código, tanto si está diseñando una solución nueva como si está actualizando una solución existente. Comencemos viendo la arquitectura de una aplicación revisando su diagrama de capas. El arquitecto del equipo ha sugerido refactorizar parte de esta aplicación para alinearla con el diseño de su diagrama de capas. Esta tarea está en nuestro trabajo pendiente y está vinculada con el diagrama de capas. Acción En Team Explorer, en Mi trabajo, haga doble clic en el elemento de trabajo de la tarea para abrirlo. En el elemento de trabajo, haga clic en Otros vínculos. En Vínculo de modelo, haga doble clic en el "vínculo de modelo", que abre el diagrama Petshop.layerdiagram en el proyecto PetShopModels. Diálogo Un diagrama de capas muestra las dependencias permitidas entre espacios de nombres, que están asignadas a capas. Los diagramas de capas son muy parecidos a dibujar en una pizarra en blanco. Tienen formas y relaciones entre estas formas. Tener diagramas de capas en la solución permite hacer más que simplemente describir la arquitectura deseada. Puede validar el código con un diagrama de capas para detectar si hay dependencias no válidas. Al incluir este paso como parte del proceso de protección y compilación, puede detectar con más facilidad los cambios del código que están en conflicto con el diseño. Acción En el menú Arquitectura, elija Ventanas, Explorador de capas. En el diagrama de capas, haga clic en la capa Business. Vea los artefactos en el Explorador de capas. En el diagrama de capas, haga clic con el botón secundario en la capa Business. Elija Validar arquitectura. Esta operación puede tardar unos minutos. En la ventana Lista de errores, mire los errores (marcados con una X roja). Haga doble clic en el primer error para ver el código que produjo el error. Diálogo Hemos encontrado dependencias en el código que están en conflicto con el diseño. El método Insert de la clase Order realiza llamadas no válidas a métodos de otras dos clases. En el diagrama de capas, el método Insert está asignado a la capa Business, que no debe comunicarse directamente con las capas de las otras dos clases. La capa Business debe comunicarse con la capa PaymentGateway. La validación de capas nos ha mostrado lo que está mal en el código. Por tanto, cuando corrijamos estos conflictos, la revalidación del diagrama debe confirmar que hemos hecho lo correcto. Acción En el diagrama de capas, haga clic en la capa PaymentGateway. En la ventana Explorador de capas, vea el espacio de nombres PaymentGatway. En el Explorador de soluciones, expanda el proyecto PaymentGateway, el tipo PaymentProcessor y revise los métodos miembro. Abra el archivo PaymentProcessor.cs para ver las definiciones de los métodos miembro. Diálogo Viendo el código que está asignado a la capa PaymentGateway, podemos delegar parte de la funcionalidad del método Insert en el método ProcessPayment. Vamos a crear diagramas de secuencia para poder comparar visualmente las estructuras de alto nivel y llamar secuencias para estos dos métodos. Acción Haga doble clic en el primer error para ver el código. Vemos la definición del método Insert. Haga clic con el botón secundario en cualquier parte dentro de la definición del método Insert. Elija Generar diagrama de secuencia. Mantenga todas las opciones propuestas. Haga clic en Aceptar. El diagrama de secuencia muestra que el método Insert llama a métodos de las clases CreditCardService y OnlinePaymentService. En el archivo PaymentProcessor.cs, haga clic con el botón secundario dentro de la definición del método ProcessPayment. Elija Generar diagrama de secuencia. Mantenga todas las opciones propuestas. Haga clic en Aceptar. Cambie de un diagrama de secuencia a otro y compare qué clases son destino de los métodos Insert y ProcessPayment, y qué clases no lo son. Muestre las similitudes y las diferencias. Diálogo Vemos que estos dos métodos son muy similares con algunas diferencias. Vamos a refactorizar el método Insert para llamar a ProcessPayment. Después, vamos a ejecutar de nuevo una validación para asegurarnos de que nuestros cambios han resuelto los conflictos de dependencias. Acción En la definición del método Insert, reemplace el código situado entre las siguientes instrucciones: if (order.CreditCard.CardType == "CreditCardProviderA" || order.CreditCard.CardType == "CreditCardProviderB") y: CalculatePaymentInfo(order); por el código siguiente: PaymentGateway.PaymentProcessor processor = new PaymentGateway.PaymentProcessor(); if (!processor.ProcessPayment(order)) { return OrderStatus.Failed; } Valide la arquitectura. Diálogo En este vídeo, hemos mostrado cómo ayudan los diagramas de capas a describir la arquitectura deseada para una aplicación y cómo puede usarse la validación de capas para ver dónde están los conflictos entre el código y el diseño. También hemos mostrado cómo se pueden usar los diagramas de secuencia para ver el flujo de métodos entre diferentes clases. Para obtener información sobre el uso de modelos UML para describir la arquitectura, vea el vídeo relacionado.
DiagnosticsHubMsg.dll no se ha instalado correctamente en el equipo o dispositivo remoto '{0}'. Si el problema continúa, ...
Diagrama de Gantt desplazable que muestra la secuencia de eventos ocurridos durante la selección temporal actual. Presione ...
Diálogo En Visual Studio, puede obtener datos de diagnóstico de aplicaciones que haya implementado con el recopilador independiente ...
Diálogo Las pruebas de carga y rendimiento son fundamentales para comprender cómo se adapta una aplicación o servicio a la ...
Diálogo Use diagramas de capas para diseñar la arquitectura de una aplicación y comprobar si el código está alineado con ...
Diálogo Use diagramas UML para modelar el diseño y los requisitos de usuario de una aplicación, ya que esto facilita comentar ...
Diapositiva {0}: falta el valor de la forma '{1}'. Las subformas de los metadatos no se encuentran en la diapositiva. Para ...
Diapositiva {0}: hay varios grupos de formas definidos en la diapositiva. Puede que no se apliquen algunas propiedades de ...
Diapositiva {0}: la subforma '{1}' definida para la propiedad Edit Shape no se puede editar. Defina otra subforma para la ...