0% encontró este documento útil (0 votos)
958 vistas5 páginas

Qué Es MVC - mvc5

El documento explica qué es el patrón MVC y sus componentes. MVC separa la lógica de negocio y los datos de una aplicación de la interfaz de usuario, dividiéndola en tres componentes: el modelo, la vista y el controlador. El modelo representa la información y la lógica de negocio, la vista genera la interfaz de usuario, y el controlador gestiona las comunicaciones entre ambos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
958 vistas5 páginas

Qué Es MVC - mvc5

El documento explica qué es el patrón MVC y sus componentes. MVC separa la lógica de negocio y los datos de una aplicación de la interfaz de usuario, dividiéndola en tres componentes: el modelo, la vista y el controlador. El modelo representa la información y la lógica de negocio, la vista genera la interfaz de usuario, y el controlador gestiona las comunicaciones entre ambos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Qu es MVC?

Es un patrn de arquitectura de software que separa los datos y la lgica de


negocio de una aplicacin de la interfaz de usuario y el mdulo encargado
de gestionar los eventos y las comunicaciones. Para ello MVC propone la
construccin de tres componentes distintos que son el modelo, la vista y
el controlador, es decir, por un lado define componentes para la
representacin de la informacin, y por otro lado para la interaccin del
usuario. Este patrn de arquitectura de software se basa en las ideas
de reutilizacin de cdigo y la separacin de conceptos, caractersticas que
buscan facilitar la tarea de desarrollo de aplicaciones y su posterior
mantenimiento.

Por qu MVC?

Quizs, para que a todos nos queden claras las ventajas del MVC podamos
echar mano de unos cuantos ejemplos:
Aunque no tenga nada que ver, comencemos con algo tan sencillo como son
el HTML y las CSS. Al principio, en el HTML se mezclaba tanto el contenido
como la presentacin. Es decir, en el propio HTML tenemos etiquetas como
"font" que sirven para definir las caractersticas de una fuente, o atributos
como "bgcolor" que definen el color de un fondo. El resultado es que tanto
el contenido como la presentacin estaban juntos y si algn da
pretendamos cambiar la forma con la que se mostraba una pgina,
estbamos obligados a cambiar cada uno de los archivos HTML que
componen una web, tocando todas y cada una de las etiquetas que hay en
el documento. Con el tiempo se observ que eso no era prctico y se cre el
lenguaje CSS, en el que se separ la responsabilidad de aplicar el
formato de una web.
Al escribir programas en lenguajes como PHP, cualquiera de nosotros
comienza mezclando tanto el cdigo PHP como el cdigo HTML (e incluso el
Javascript) en el mismo archivo. Esto produce lo que se denomina el "Cdigo
Espagueti". Si algn da pretendemos cambiar el modo en cmo queremos
que se muestre el contenido, estamos obligados a repasar todas y cada una
de las pginas que tiene nuestro proyecto. Sera mucho ms til que
el HTML estuviera separado del PHP.
Si queremos que en un equipo intervengan perfiles distintos de
profesionales y trabajen de manera autnoma, como diseadores o
programadores, ambos tienen que tocar los mismos archivos y el diseador
se tiene necesariamente que relacionar con mucho cdigo en un lenguaje
de programacin que puede no serle familiar, siendo que a ste quizs solo
le interesan los bloques donde hay HTML. De nuevo, sera mucho ms fcil
la separacin del cdigo.
Durante la manipulacin de datos en una aplicacin es posible que estemos
accediendo a los mismos datos en lugares distintos. Por ejemplo, podemos
acceder a los datos de un artculo desde la pgina donde se muestra ste, la

pgina donde se listan los artculos de un manual o la pgina


de backend donde se administran los artculos de un sitio web. Si un da
cambiamos los datos de los artculos (alteramos la tabla para aadir nuevos
campos o cambiar los existentes porque las necesidades de nuestros
artculos varan), estamos obligados a cambiar, pgina a pgina, todos los
lugares donde se consuman datos de los artculos. Adems, si tenemos el
cdigo de acceso a datos disperso por decenas de lugares, es posible que
estemos repitiendo las mismas sentencias de acceso a esos datos y por
tanto no estamos reutilizando cdigo.

Modelos
Es la capa donde se trabaja con los datos, por tanto contendr mecanismos
para acceder a la informacin y tambin para actualizar su estado. Los
datos los tendremos habitualmente en una base de datos, por lo que en los
modelos tendremos todas las funciones que accedern a las tablas y harn
los correspondientes selects, updates, inserts, etc.
No obstante, cabe mencionar que cuando se trabaja con MCV lo habitual
tambin es utilizar otras libreras como PDO o algn ORM como Doctrine,
que nos permiten trabajar con abstraccin de bases de datos y persistencia
en objetos. Por ello, en vez de usar directamente sentencias SQL, que
suelen depender del motor de base de datos con el que se est trabajando,
se utiliza un dialecto de acceso a datos basado en clases y objetos.
Vistas
Las vistas, como su nombre nos hace entender, contienen el cdigo de
nuestra aplicacin que va a producir la visualizacin de las interfaces de
usuario, o sea, el cdigo que nos permitir renderizar los estados de nuestra
aplicacin en HTML. En las vistas nada ms tenemos los cdigos HTML y
PHP que nos permite mostrar la salida.
En la vista generalmente trabajamos con los datos, sin embargo, no se
realiza un acceso directo a stos. Las vistas requerirn los datos a los
modelos y ellas se generar la salida, tal como nuestra aplicacin requiera.
Controladores
Contiene el cdigo necesario para responder a las acciones que se solicitan
en la aplicacin, como visualizar un elemento, realizar una compra, una
bsqueda de informacin, etc.
En realidad es una capa que sirve de enlace entre las vistas y los modelos,
respondiendo a los mecanismos que puedan requerirse para implementar
las necesidades de nuestra aplicacin. Sin embargo, su responsabilidad no
es manipular directamente datos, ni mostrar ningn tipo de salida, sino
servir de enlace entre los modelos y las vistas para implementar las
diversas necesidades del desarrollo.

Arquitectura de aplicaciones MVC

A continuacin encontrars un diagrama que te servir para entender un


poco mejor cmo colaboran las distintas capas que componen la
arquitectura de desarrollo de software en el patrn MVC.

En esta imagen hemos representado con flechas los modos de colaboracin


entre los distintos elementos que formaran una aplicacin MVC, junto con el
usuario. Como se puede ver, los controladores, con su lgica de negocio,
hacen de puente entre los modelos y las vistas. Pero adems en algunos
casos los modelos pueden enviar datos a las vistas. Veamos paso a paso
cmo sera el flujo de trabajo caracterstico en un esquema MVC.
El usuario realiza una solicitud a nuestro sitio web. Generalmente estar
desencadenada por acceder a una pgina de nuestro sitio. Esa solicitud le
llega al controlador.
El controlador comunica tanto con modelos como con vistas. A los modelos
les solicita datos o les manda realizar actualizaciones de los datos. A las
vistas les solicita la salida correspondiente, una vez se hayan realizado las
operaciones pertinentes segn la lgica del negocio.
Para producir la salida, en ocasiones las vistas pueden solicitar ms
informacin a los modelos. En ocasiones, el controlador ser el responsable
de solicitar todos los datos a los modelos y de enviarlos a las vistas,
haciendo de puente entre unos y otros. Sera corriente tanto una cosa como
la otra, todo depende de nuestra implementacin; por eso esa flecha la
hemos coloreado de otro color.

Las vistas envan al usuario la salida. Aunque en ocasiones esa salida puede
ir de vuelta al controlador y sera ste el que hace el envo al cliente, por
eso he puesto la flecha en otro color.

QU HAY DE NUEVO EN ASP.NET MVC 5?

ASP.NET MVC
Como muchos ya sabrn hace poco Microsoft lanzo nuevas versiones de sus
productos y frameworks, entre ellos Visual Studio 2013 (producto) y ASP.NET
MVC 5(framework).
ASP.NET MVC 5 no trae demasiadas novedades (como en versiones
anteriores) y por el momento solo esta disponible de forma totalmente
integrada con VS2013 (es posible utilizarlo en VS2012 instalando los
binarios por medio de Nuget: Install-Package Microsoft.AspNet.Mvc).
En este post solo vamos a nombrar las nuevas features del framework, y en
siguientes post vamos a ampliar sobre cada una.
Caractersticas:
One ASP.NET
Es una nueva plantilla de proyectos ASP.NET que permite customizar y
configurar nuestras aplicaciones MVC.
ASP.NET Identitity
Los templates de proyectos ASP.NET MVC se han actualizado para
usarASP.NET Identity en cuestiones de autenticacin y gestin de identidad.

Bootstrap in the MVC template


Integracin de Bootstrap en las vistas para proporcionar un aspecto
elegante y responsivo a nuestras aplicaciones.
Authentication Filters
Nuevos tipos de filtros de autenticacin que se complementan
al filter[Authorize]. Estos se ejecutan previamente y permiten aadir lgica
para validar un usuario y asociarlo a la peticin (ya sea a nivel de una
accin, controlador o de forma global).
Filter overrides
Permiten definir que filtros no se deben ejecutar en un mtodo de accin o
controlador. Por ejemplo podemos definir un filter de forma global y
especificar que para cierto controlador o accin el mismo no se ejecute.
Attribute routing
Soporte para routing basado en atributos (gracias a la contribucin deTim
MacCall http://attributerouting.net). Esta caracterstica nos permite definir
nuestras rutas utilizando atributos sobre las propias acciones y
controladores.

También podría gustarte