si tengo un gui de clase y una clase para la lógica, ¿está llevando a cabo una referencia en gui a lógica y lógica a gui muy mal?2 clases se refieren entre sí ¿está bien?
Respuesta
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?
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).
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í. :)
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.
- 1. Dos clases que se refieren entre sí
- 2. clases de python que se refieren entre sí
- 3. Compilación de C++ cuando dos clases se refieren entre sí
- 4. ¿Las uniones discriminadas se refieren entre sí?
- 5. Estructuras que se refieren entre sí
- 6. Instancias de tipo predeterminado que se refieren entre sí
- 7. ¿Está bien terminar utilizando clases principalmente estáticas?
- 8. En C# u OOP, ¿deberían las 2 clases estar relacionadas entre sí?
- 9. Cómo tener 2 funciones llamar entre sí en OCaml
- 10. Clases virtuales: hacerlo bien?
- 11. diferencias entre 2 JUnit Assert clases
- 12. alinee 2 anchos de columnas de la tabla entre sí
- 13. ¿Está bien ampliar las clases de estilo antiguo y nuevo?
- 14. ¿cómo se comunican los hilos entre sí?
- 15. ¿Cómo se comunican los programas entre sí?
- 16. Objetos que se conocen entre sí
- 17. ¿Qué se entiende por clases en sí mismas son objetos?
- 18. Diferencias entre SÍ/VERDADERO?
- 19. ¿Está bien derivar de System.ArgumentException?
- 20. ¿Está bien usar __doPostBack()?
- 21. ¿Está bien usar cellpadding = "2" cellspacing = "2" en <table>?
- 22. ¿Este código está bien definido?
- 23. ¿Está bien llamar a un método init en sí mismo, en un método init?
- 24. Varias solicitudes de AJAX se retrasan entre sí
- 25. memcacheD Esto está bien?
- 26. WPF MVVM: ¿Cómo se comunican ViewModels entre sí?
- 27. Las reglas de StyleCop y FxCop se excluyen entre sí
- 28. Eliminando el acoplamiento de clases que tienen fuertes vínculos conceptuales entre sí
- 29. ¿Hay dos matrices de permutación entre sí?
- 30. ¿Está bien tener objetos Singleton DAO?