2009-03-16 13 views

Respuesta

0

Si puede evitarlo, probablemente debería. De lo contrario, podría tener muchos problemas con dependencias circulares más adelante.

¿De verdad tienen que saber el uno del otro, o podría tener un tercer concepto de "control" que haga referencia a los dos?

11

Como regla general, es malo tener la clase "lógica" teniendo conocimiento de la clase "gui". La idea detrás de la separación es el patrón de diseño Modelo/Vista (o Modelo/Vista/Controlador). La vista necesitará una referencia al modelo. Mire de cerca por qué el modelo necesita una referencia a la vista. Por lo general, cuando el modelo necesita enviar información a la vista, se utilizan los oyentes (consulte javax.swing table y list models para ver un ejemplo).

5

Se debe evitar. En su GUI, puede tener una referencia a su lógica de dominio, pero no debe tener una referencia a su GUI en la lógica de su dominio.

¿Por qué? Porque de lo contrario, no tiene la ventaja de dividir la lógica de dominio GUI & en archivos separados. Cuando su lógica tiene una dependencia a su GUI, entonces no puede usar su lógica con otra GUI.

Por lo tanto, debe tratar de evitar esta dependencia de su lógica a su interfaz gráfica de usuario, o bien, debe hacer abstracción de la misma.

Espero ser claro aquí. :)

0

La GUI probablemente necesite exponer algún tipo de interfaz a la clase lógica, para tener la actualización de la GUI cuando la clase lógica cambie algo.

La lógica no debe tener un conocimiento directo de la implementación de la GUI, solo su interfaz.

A veces se usa el Observer Pattern para esto.

Cuestiones relacionadas