Está en la página 1de 4

Modelo de vista

controlador y el
Modelo N-capas

Luis Eduardo Pemberthy Mendoza


15 de octubre de 2014

Modelo de vista controlador (MVC) y el Modelo N-capas

Modelo Vista Controlador, es un estilo de arquitectura de software que separa los


datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres
componentes distintos. Se trata de un modelo muy maduro y que ha demostrado su
validez a lo largo de los aos en todo tipo de aplicaciones, y sobre multitud de
lenguajes y plataformas de desarrollo. Podemos decir que MVC es una propuesta de
diseo de software 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. Su fundamento es la separacin
del cdigo en tres capas diferentes, acotadas por su responsabilidad, en lo que se
llaman Model, Views & Controllers que espaol quiere decir Modelos, Vistas y
Controladores.
La capa Modelo representa la parte de la aplicacin que implementa la lgica de negocio.
Esto significa que 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. A primera vista los objetos del

modelo pueden ser considerados como la primera capa de la interaccin con cualquier
base de datos que podra estar utilizando tu aplicacin. Pero en general representan
los principales conceptos en torno a los cuales se desea implementar un programa. 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 y/o Comentario.
La capa 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 capa de la Vista 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 gestiona las peticiones de los usuarios. 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.
Para entender cmo funciona nuestro patrn Modelo vista controlador, se debe
entender la divisin a travs del conjunto de estos tres elementos y como estos
componentes se comunican unos con los otros y con otras vistas y controladores
externos al modelo principal. Para ello, es importante saber que el controlador
interpreta las entradas del usuario (tanto el teclado como el mouse), enviado el
mensaje de accin al modelo y a la vista para que se proceda con los cambios que se
consideren adecuados.
El modelo n-capas de informtica distribuida ha emergido como la arquitectura
predominante para la construccin de aplicaciones multiplataforma en la mayor parte
de las empresas pertenecientes a Fortune 1000. Este cambio radical en los modelos
de computacin, desde los sistemas monolticos basados en mainframe y los
tradicionales sistemas cliente-servidor, hacia sistemas distribuidos multiplataforma
altamente modulables, representa simplemente la punta del iceberg de lo que est por
llegar en el mundo del desarrollo de aplicaciones, tal y como se pone de manifiesto en
las ltimas tendencias de las grandes empresas de tecnologa, como Sun con su
estrategia Sun Tone, o Microsoft con DotNet.
Este modelo contiene una alta escalabilidad. La cual es la principal ventaja de una
aplicacin distribuida bien diseada es su buen escalado, es decir, que puede manejar
muchas peticiones con el mismo rendimiento simplemente aadiendo ms hardware.
El crecimiento es casi lineal y no es necesario aadir ms cdigo para conseguir esta
escalabilidad. Podemos decir que otra de sus ventajas son sus desarrollos paralelos en
cada capa, su mantenimiento y soporte son ms sencillos (es ms sencillo cambiar un
componente que modificar una aplicacin monoltica).
Todas las aplicaciones basadas en n-capas permitirn trabajar con clientes ligeros, tal
como navegadores de Internet, WebTV, Telfonos Inteligentes, PDAs(Asistentes
Personales Digitales) y muchos otros dispositivos preparados para conectarse a
Internet.

De este modo, las arquitecturas de n-capas se estn posicionando rpidamente como


la piedra angular de los desarrollos de aplicaciones empresariales y las compaas
estn adoptando esta estrategia a una velocidad de vrtigo como mecanismo de
posicionamiento en la economa emergente que tiene su base en la red (lo que se ha
venido a denominar "Nueva Economa").
Actualmente, la Red (Internet, intranets y extranets) es el ordenador o, como dira Sun
Microsystems, el ordenador es la Red. Este paradigma est creando un cambio
fundamental en los modelos de computacin que, a su vez, proporciona desafos y
oportunidades como nunca antes haba se haban producido. Las arquitecturas
basadas en n-capas permiten a los componentes de negocio correr en una LAN, WAN o
Internet. Esto significa que cualquiera con un ordenador y conexin a la Red (por
ejemplo, un miembro del equipo de fuerza de ventas) posee toda la funcionalidad que
tendra si se encontrase delante de su sistema de escritorio.