Tenga cuidado con las dependencias circulares entre sus clases y paquetes, no desea el código de espagueti.
Mi aplicación Swing existe de 9 módulos (controlador, aplicación, plataforma, utils, modelo, persistencia, servicio, registrador, y ver)
Aquí dependencias:
view -> logger, controller, utils, model
controller -> logger, application, model, utils
application -> service, model, utils, platform
service -> persistence, model, utils
platform -> model
utils -> no dependencies
model -> no dependencies
logger -> model, utils
una dependencia deseada es desde la vista hasta el controlador, pero no desde el controlador para ver.
Así que lo mejor es agregar un registrador de módulo y crear un controlador (que es un observable) que notifica a los observadores (ver como JFrame, JFace = observadores).
La vista y el módulo de servicio (lugar donde desea desencadenar el observador) no dependen uno del otro sino a través del módulo de registrador.
Pero creo que el enlazador de datos funciona también de esa manera. Supongo que a excepción de que eres dependiente del marco.Mi solución no lo es, así que si quiero cambiar de Swing a swt, no me preocupo, solo lo implemento para swt, y mi lógica de negocios permanece intacta.
Todos deberían pensar más en el diseño. (Y use maven.)
No escriba otro framework de registro, simplemente no lo haga. Use log4j (o slf4j, parece estar de moda) – Justin
No estoy de acuerdo, no agregue otra dependencia si quiere hacer algo así de simple ... – dacwe