16/7/2009 21:47
El Bruno
[VSTS2010] Dependencias Bidireccionales en Layer Diagram (no es para asustarse !!!)

Buenas,
hoy comentabamos con un compañero de trabajo sobre el diagrama Layer Diagram de VSTS 2010 y una de las cosas que le llamó la atención fue la capacidad de crear dependencias bireccionales. En la siguiente imagen se muestra la Toolbox de un diagrama del tipo Layer Diagram y el 4to elemento en la misma es una dependencia bidireccional.
Si pensamos en que cada componente del diagrama representa a un proyecto, es normal pensar que no tienen sentido las dependencias bidireccionales; ya que estariamos creando dependencias circulares y todos conocemos ese infierno en .Net. Pero los componentes del diagrama también pueden representar Namespaces o Clases en uno o más proyectos, con lo que si tenemos un código similar al siguiente:
1: class DemoClassA
2: {
3: public void Demo()
4: {
5: DemoClassB b = new DemoClassB();
6: }
7: }
8: class DemoClassB
9: {
10: public void Demo()
11: {
12: DemoClassA b = new DemoClassA();
13: }
14: }
y asociamos cada clase a un componente en el diagrama deberíamos tener un diagrama como el siguiente:
Si desplegamos el menú contextual y seleccionamos la opción Generate Dependencies, veremos como se dibuja una dependencia bidireccional:
Pues bien, para ejemplo 14 líneas de código aunque lo más interesante es que si bien existe la capacidad de crear relaciones bidireccionales, el instinto por lo general nos da un warning frente a estos escenarios o sea que debemos andar con cuidado (o eso pienso yo :D)
Saludos @ Home
El Bruno
Archivado en: Visual Studio Team System,VSTS,Visual Studio 2010,Architect Layer Diagram
Comparte este post: