Esto te podria dar una idea, ya que es cuestion de arquitectura no deberia importar el lenguaje en que se desarrolle.
http://oness.sourceforge.net/proyecto/html/ch03s02.html
Te lo resumo a mi manera tratando de evitar los terminos tecnicos que es lo que muchas veces confunde:
El desarrollo por mvc fue creado principalmente para la web, y luego se aplico a las aplicaciones de escritorio (Cual fue la razon?), imagina tener codigo del lenguaje de servidor y codigo del lado del cliente en combinado...cada modificacion aunque muchos lo hacen aun, es un trabajo muy engorroso.
EL modelo MVC que plantea?
EJ:
Tengo 3 carpetas en mi proyecto llamadas
- vista
- modelo
- controlador
En mi capa vista:
Puedo guardar todos los archivos del proyecto que se encargan de pintar los formularios,mensajes... en la pantalla del cliente (Generar el codigo html).
En mi capa controlador:
Se encarga de recoger las peticiones o eventos que el usuario genera sobre la vista, o pasar los datos retornados por el servidor a la vista.
La capa modelo, es la que matiene conexion a la base de datos, ejecuta las consultas, procesa la informacion del negocio...son procedimientos compilados del lado del servidor que estan pendientes a cualquier solicitud de la capa controlador o directamente la capa de vista en algunos casos.
Un ejemplo:
Aplicado a POO y JEE:
1)
- Una clase que podria hacer parte de la vista, es la encargada de pintar un "combo o un select" en la pantalla con la informacion del campo de una tabla en la BD.
Asi podria ser la encargada de crear una grilla, una lista, un text personalizado, o una simple etiqueta(Muy comun el uso de los
JAVABEANS).
2) Una clase que corresponda a la parte de controlador, podria ser la que en el momento en que el usuario selecciona un dato del "combo o select", recibe este evento como una peticion(GET o POST), recoge este dato y define que se debe hacer con el(Un componente muy utilizado en este caso es el
SERVLET).
3)Una clase en la parte del modelo, podria ser la que invoque el controlador pasandole el dato seleccionado en el combo de la vista. Ahora el modelo define que debe hacer el programa de acuerdo al dato seleccionado que puede ser consultar una tabla en la BD filtrando la informacion por el dato seleccionado en el combo y retornarlo al controlador, para que este nuevamente lo retorne a la vista, y la vista pinte una grilla con la informacion retornada(Podria se en este caso un
ENTERPRICE JAVA BEAN).
Espero sea mas o menos claro, vere si le saco tiempo a moldear un ejemplo sencillo. (Cualquier correcion sera bien recibida)
Un saludo,