11/1/2010 22:40
El Bruno
[VS2010] HowTo: Validar relaciones entre clases con Layer Diagram

Buenas,
cuando he posteado sobre el Layer Diagram, siempre he asociado las capas de una solución con uno o mas proyectos. Pero una de las ventajas que tiene el Layer Diagram, es que permite además ser más específico y trabajar con elementos individuales de un proyecto por ejemplo con clases. Por ejemplo, si dentro de un mismo proyecto poseemos 3 clases con el siguiente código fuente en las mismas:
1: public class DataLayer
2: {
3: public void Foo()
4: { }
5: }
6: public class BusinessLayer
7: {
8: public void Foo()
9: {
10: var d = new DataLayer();
11: d.Foo();
12: }
13: }
14: public class UILayer
15: {
16: public void Foo()
17: {
18: var b = new BusinessLayer();
19: b.Foo();
20: }
21: }
Es fácil ver como las relaciones van en sentido Data –> Business –> UI. Si agregamos un diagrama del Tipo Layer Diagram al proyecto, podemos hacer drag and drop de las clases sobre cada una de estas capas y ver en el diagrama que las relaciones están a nivel de clase y no de ensamblado; como muestra la siguiente imagen.

Si en este punto lanzamos una validación del diagrama, la misma irá correctamente, pero si modificamos la clase UI como en el siguiente ejemplo, donde la misma hace una referencia a la clase Data.
1: public class UILayer
2: {
3: public void Foo()
4: {
5: var b = new BusinessLayer();
6: b.Foo();
7:
8: var d = new DataLayer();
9: }
10: }
Podremos ver en la validacion del Layer Diagram como nos marca un error de llamada y un error de referencia.

Asi que, ya sea a nivel de proyecto o a nivel de clases, el Layer Diagram nos ayudará a mantener nuestros proyectos bajo una arquitectura sólida.
Saludos @ Boadilla
El Bruno
Archivado en: Visual Studio Team System,VSTS,Visual Studio 2010,Architect Layer Diagram
Comparte este post: