Вы находитесь на странице: 1из 4

JOS LUIS MONASTERIOS ACARAPI 1

MODELO VISTA CONTROLADOR (MVC)

Es un patrn de diseo de software para programacin que propone separar el cdigo de


los programas por sus diferentes responsabilidades. Utilizada para implementar sistemas
donde se requiere el uso de interfaces de usuario. Surge de la necesidad de crear
software ms robusto con un ciclo de vida ms adecuado, donde se potencie la facilidad
de mantenimiento, reutilizacin del cdigo y la separacin de conceptos.

Programar usando MVC separa tu aplicacin en tres partes principalmente:

LA CAPA DEL MODELO

Representa los datos empresariales y las reglas para acceder a ellos y modificarlos.

Es responsable de la recuperacin de datos convirtindolos en conceptos


significativos para la aplicacin, as como su procesamiento, validacin, asociacin y
cualquier otra tarea relativa a la manipulacin de dichos datos.

El modelo es la porcin que implementa la Lgica del Negocio.

Se le suele llamar el modelo porque representa objetos y sus interacciones del


mundo real.

En el caso de una red social, la capa de modelo se hara cargo de tareas tales como
guardar datos del usuario, el almacenamiento de asociaciones con amigos, el
almacenamiento y la recuperacin de fotos de los usuarios, encontrar sugerencias de
nuevos amigos, etc. Mientras que los objetos del modelo pueden ser considerados
como Amigo, Usuario, Comentario y Foto.

LA CAPA DE LA VISTA

1
JOS LUIS MONASTERIOS ACARAPI 2

Especfica cmo deben ser desplegados los datos contenidos por el Modelo, son las
porciones de la aplicacin MVC que presentan salida al usuario.

La vista hace una presentacin de los datos del modelo estando separada de los
objetos del modelo. Es responsable del uso de la informacin de la cual dispone para
producir cualquier interfaz de presentacin de cualquier peticin que se presente.

Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los
usara para hacer una pgina HTML que los contenga. O un resultado con formato
XML para que otras aplicaciones puedan consumir.

La salida ms comn para aplicaciones web es el HTML pero MCV no se limita


nicamente a HTML o texto que represente los datos, sino que puede ser utilizada
para ofrecer una amplia variedad de formatos en funcin de sus necesidades tales
como videos, msica, documentos y cualquier otro formato que puedas imaginar.

LA CAPA DEL CONTROLADOR

Transforma interacciones efectuadas en la Vista en acciones a ser ejecutadas por el


Modelo.

La capa del controlador gestiona las peticiones de los usuarios es el corazn de la


aplicacin. Es responsable de responder la informacin solicitada con la ayuda tanto
del modelo como de la vista.

Los controladores pueden ser vistos como administradores cuidando de que todos los
recursos necesarios para completar una tarea se deleguen a los trabajadores ms
adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las
normas de autenticacin o autorizacin, delega la bsqueda de datos al modelo y
selecciona el tipo de respuesta ms adecuado segn las preferencias del cliente.
Finalmente delega este proceso de presentacin a la capa de la Vista.

EL CICLO DE UNA PETICIN

El ciclo de una peticin tpica comienza cuando un usuario solicita una pgina o un
recurso de tu aplicacin. Esta solicitud es procesada por un despachador que
selecciona el controlador correcto para manejarlo.

Una vez que la solicitud llega al controlador, ste se comunicar con la capa del
Modelo para cualquier proceso de captacin de datos o el guardado de los mismos
segn se requiera. Una vez finalizada esta comunicacin el controlador proceder a

2
JOS LUIS MONASTERIOS ACARAPI 3

delegar en el objeto de vista correcto la tarea de generar una presentacin resultante


de los datos proporcionada por el modelo.

Finalmente, cuando esta presentacin se genera, se enva de inmediato al usuario.

Casi todas las solicitudes para la aplicacin van a seguir este patrn bsico.

BENEFICIOS

Debido a que es un patrn de diseo de software verdaderamente probado que


convierte una aplicacin en un paquete modular fcil de mantener y mejora la rapidez
del desarrollo.

La separacin de las tareas de tu aplicacin en modelos, vistas y controladores hace


que su aplicacin sea adems muy ligeras de entender. Las nuevas caractersticas se
aaden fcilmente y agregar cosas nuevas a cdigo viejo se hace muy sencillo.

El diseo modular tambin permite a los desarrolladores y los diseadores trabajar


simultneamente, incluyendo la capacidad de hacer prototipos rpidos .

La separacin tambin permite a los desarrolladores hacer cambios en una parte del
la aplicacin sin afectar a los dems.

USO EN APLICACIONES WEB

Aunque originalmente MVC fue desarrollado para aplicaciones de escritorio, ha sido


ampliamente adaptado como arquitectura para disear e implementar aplicaciones web
en los principales lenguajes de programacin. Se han desarrollado multitud de
frameworks, comerciales y no comerciales, que implementan este patrn estos

3
JOS LUIS MONASTERIOS ACARAPI 4

frameworks se diferencian bsicamente en la interpretacin de como las funciones MVC


se dividen entre cliente y servidor.

Los primeros frameworks MVC para desarrollo web planteaban un enfoque de cliente
ligero en el que casi todas las funciones, tanto de la vista, el modelo y el controlador
recaan en el servidor. En este enfoque, el cliente manda la peticin de cualquier
hiperenlace o formulario al controlador y despus recibe de la vista una pgina completa y
actualizada (u otro documento); tanto el modelo como el controlador (y buena parte de la
vista) estn completamente alojados en el servidor. Como las tecnologas web han
madurado, ahora existen frameworks como JavaScriptMVC, Backbone o jQuery que
permiten que ciertos componentes MVC se ejecuten parcial o totalmente en el cliente.

BIBLIOGRAFA

https://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-
controller.html
https://users.dcc.uchile.cl/~jbarrios/J2EE/node93.html
http://material.concursos.econo.unlp.edu.ar/concursos/T%C3%A9cnico-Profesional
%20(Inform%C3%A1tica)/patrones/Modelo%E2%80%93vista
%E2%80%93controlador.pdf

Вам также может понравиться