¿Cuál es un buen método para la comunicación entre controladores sin acoplamiento en MVC/MVP?Comunicación intercontrolador en MVC/MVP
Por ejemplo, en una Cita, el usuario debe crear y agregar un nuevo contacto, o agregar uno existente.
Eligen crear un nuevo contacto. Cuando se completa, el contacto se agrega a la cita, y la IU devuelve al usuario a esa cita. Si presionan cancelar, se devuelven a la cita.
Quiero volver a utilizar el contacto en otro lugar, por lo tanto, no debería saber nada acerca de Cita. Por ejemplo, si creo un contacto de la lista de contactos, debería regresar allí cuando haya terminado.
Estas son algunas de las opciones que he pensado:
acción ContactsController llama ApplicationController.getNextStep (este) y el ApplicationController se lo imagina el siguiente paso en nombre de la ContactsController
ContactsController plantea el evento "acción completa" o similar, y el ApplicationController está escuchando este evento y llama al siguiente paso correcto
QuoteController pasa en un "bastón" a ContactsController con el siguiente paso, que ContactsController llama al finalizar
ContactsController provoca el evento "actioncomplete" o similar, y QuotesController está a la escucha de este evento y llama al siguiente paso correcto.
¿Tiene experiencia con estos? ¿Otras ideas? ¿Cuál causará el menor dolor de cabeza en una gran aplicación?
Gracias!