Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MVC esta demostrando ser un patrn de diseo bien elaborado pues las aplicaciones
que lo implementan presentan una extensibilidad y una mantenibilidad nicas
comparadas con otras aplicaciones basadas en otros patrones.
Para desarrollar una aplicacin bajo el patrn de diseo MVC es necesario una
mayor dedicacin en los tiempos iniciales del desarrollo. Normalmente el patrn
exige al programador desarrollar un mayor nmero de clases que, en otros entornos
de desarrollo, no son necesarias. Sin embargo, esta desventaja es muy relativa ya
que posteriormente, en la etapa de mantenimiento de la aplicacin, una aplicacin
MVC es mucho ms mantenible, extensible y modificable que una aplicacin que
no lo implementa.
MVC requiere la existencia de una arquitectura inicial sobre la que se deben
construir clases e interfaces para modificar y comunicar los mdulos de una
aplicacin. Esta arquitectura inicial debe incluir, por lo menos, un mecanismo de
eventos para poder proporcionar las notificaciones que genera el modelo de
aplicacin; una clase Modelo, otra clase Vista y una clase Controlador genricas que
realicen todas las tareas de comunicacin, notificacin y actualizacin que sern
luego transparentes para el desarrollo de la aplicacin.
MVC es un patrn de diseo orientado a objetos por lo que su implementacin es
sumamente costosa y difcil en lenguajes que no siguen este paradigma.
Una vez que el Controlador determine la operacin a realizar, procede a ejecutar las
acciones pertinentes, invocando para ello a los diferentes mtodos expuestos por el Modelo.
Los resultados devueltos por el Modelo al Controlador son depositados por ste en una
variable de peticin, sesin o aplicacin, segn el alcance que deban tener. A continuacin,
el Controlador invoca a la pgina JSP que debe encargarse de generar la vista
correspondiente, est pgina acceder a la variable de mbito donde estn depositados los
resultados y los utilizar para generar dinmicamente la respuesta XHTML que ser
enviada al cliente.