Hola
Estoy trabajando en un proyecto web con un equipo de trabajo en Visual Basic
.NET y que está subdivida en 3 capas y a su vez cada capa está divida en en
módulos y cada modulo a su vez representa un ensamblado. Trataré de
describirlo de una manera bastante sencilla
Framework
Lib X
Lib Y
.
Entidades Funcionales
Modulo A
Modulo B
.
Capa Datos
Modulo A
Referencia "Lib A" de Framework
Referencia "Lib B" de Framework
Class UnoA
Class DosA
.
Modulo B
Referencia "Lib A" de Framework
Referencia "Lib B" de Framework
Class UnoA
Class DosA
.
.
Capa Negocios
Modulo A
Referencia "Lib A" de Framework
Referencia "Lib B" de Framework
Referencia "Modulo B" de Negocio
Class UnoA
Class DosA
Modulo B
Referencia "Lib A" de Framework
Referencia "Lib B" de Framework
Referencia "Modulo A" de Negocio
Class UnoB
Class DosB
.
Presentacion
Sitio Web
Referencia "Lib A" de Framework
Referencia "Lib B" de Framework
Referencia "Modulo A" de Negocio
Referencia "Modulo B" de Negocio
.
Todo estaba saliendo de maravilla, mientras los modulos no estaban
interactuando entre si.
El problema ahora es el siguiente
La Clase de negocio del Modulo B "DosB", necesita verificar
cierta regla de negocio que se encuentra en el Modulo A y a su vez la Clase
UnoA del Modulo A necesita realizar comprobaciones que se encuentran en el
Modulo B, el tema es que como Visual Basic no permite referencias
circulares.
Como Resolver el dilema pienso que:
a)Se podria tratar de subdividir en mas subproyectos
Es arduo pero podria ser una solucion temporal, pero si
nos vuelve a ocurrir. no lo quiero ni imaginar
b)Prodriamos crear referencias tardias vía y usar quizas
Reflection
Pero eso supone muchas restricciones a nivel de
configuracion de la Aplicacion y rendimiento.
entonces ¿Existe otra manera de resolver el problema?
Agradezco desde ya la molestia que se han tomado siquiera para leer esto y
si podeis darme alguna idea de cómo enfrentar el problema os lo agradecería.
Héctor Gonzalez
Leer las respuestas