¿Qué entra en el "Controlador" en "MVC"?

Creo que entiendo los conceptos básicos de MVC: el Modelo contiene los datos y el comportamiento de la aplicación, la Vista es responsable de mostrarla al usuario y el Controlador se encarga de la entrada del usuario. Lo que no estoy seguro es exactamentequé Entra en el controlador.

Digamos, por ejemplo, que tengo una aplicación bastante simple (estoy pensando específicamente en Java, pero supongo que los mismos principios se aplican en otros lugares). Organizo mi código en 3 paquetes llamadosapp.model, app.view yapp.controller.

Dentro deapp.model paquete, tengo algunas clases que reflejan el comportamiento real de la aplicación. Estasextends Observable y usesetChanged() ynotifyObservers() para activar las vistas para actualizar cuando sea apropiado.

losapp.view el paquete tiene una clase (o varias clases para diferentes tipos de visualización) que utilizajavax.swing Componentes para manejar la pantalla. Algunos de estos componentes necesitan retroalimentarse en el Modelo. Si entiendo correctamente, la Vista no debería tener nada que ver con los comentarios, eso debe ser tratado por el Controlador.

Entonces, ¿qué es lo que realmente pongo en el controlador? Pongo elpublic void actionPerformed(ActionEvent e) en la vista con solo una llamada a un método en el controlador? Si es así, ¿debería realizarse alguna validación, etc. en el Controlador? Si es así, ¿cómo devuelvo los mensajes de error a la Vista? ¿Debería pasar por el Modelo nuevamente o el Controlador debería enviarlo directamente a la Vista?

Si la validación se realiza en la Vista, ¿qué coloco en el Controlador?

Perdón por la larga pregunta, solo quería documentar mi comprensión del proceso y espero que alguien pueda aclararme este problema.

Respuestas a la pregunta(13)

Su respuesta a la pregunta