You are on page 1of 10

PATRN MVC PARA EL DESARROLLO DE APLICACIONES WEB

DARO ANTONIO RIVERA


COD. 084850732013
ENZO FABIAN REYES
COD. 084850702013
DIANA MARTINEZ NAICIPE
COD. 084850412013

UNIVERSIDAD DEL TOLIMA


SEMINARIO DE PROFUNDIZACIN
Ibagu - Tolima
2015

INTRODUCCIN

MVC (Model View Controller) es un patrn arquitectnico de diseo de software


que busca separar la presentacin de los datos, de la lgica de negocio y el acceso
a datos. El modelo MVC es muy popular en entornos web y aplicaciones de
escritorio que no utilizan otros patrones. Con MVC, es muy sencillo mantener los
programas desarrollados en cualquier lenguaje, siempre y cuando se apliquen otro
conjunto de buenas prcticas como el indentado, nombres identificativos a las
variables, comentarios, entre otros. Todo esto, se traduce en un aumento en la
produccin del software que optimiza los procesos de desarrollo y mantenimiento
en cualquier proyecto.

OBJETIVOS

GENERALES
-

Identificar el patrn MVC en aplicaciones de software


Aplicar el patrn MVC en ASP.NET
Crear una aplicacin sencilla en MVC y ASP.NET

ESPECFICOS
-

Identificar los tres componentes principales del MVC


Comprender la interaccin entre Modelo, Vista y Controlador
Reconocer la sintaxis bsica de ASP.NET
Crear Modelos, Vistas y Controladores en ASP.NET

FUNDAMENTOS ASP.NET

Para hablar de ASP.NET, debemos primero que hablar de su antecesor, el ASP, el


cual se define como la tecnologa desarrollada por Microsoft para la creacin de
pginas dinmicas del servidor, por ello el
Active Server Pages se escribe en la
misma pgina web, utilizando el lenguaje Visual Basic Script o Jscript (Javascript
de Microsoft).
Ahora bien, aunque ASP.NET maneje varios criterios de ASP, lo cierto es que
ASP.NET introduce tantas mejoras que le puede convertir incluso en un producto
totalmente nuevo y distante, pues, mientras ASP se escriba en VBScript,
ASP.NET puede ser escrito en cualquier lenguaje soportado por el .NET
Framework, es decir: VB.net; C#, F# y JScript.net.
Otro cambio radical es que ASP.NET maneja exclusivamente lenguajes
totalmente orientado a objetos.
Ahora bien, dentro de ASP.NET veremos que existe un patrn arquitectnico
llamado MVC
, este separa una aplicacin en tres componentes principales: el
Modelo, la Vista y el Controlador (significado de sus siglas). El marco de ASP.NET
MVC proporciona una alternativa al modelo de formularios Web Forms de ASP.NET
para crear aplicaciones web. ASP MVC se integra con las caractersticas de ASP.NET
existentes, tales como pginas maestras y la autenticacin basada en pertenencia.
El marco de MVC se define en el ensamblado System.Web.Mvc1.

Este NameSpace incluye clases que representan controladores, generadores de controladores, resultados de acciones,
vistas, vista parcial, enlazadores de modelos, entre otros muchos.
1

EL MODELO

Los modelos implementan la lgica del dominio de los datos de la aplicacin, es


decir, cualquier proceso que requiera interactuar con los datos de la aplicacin.
Muchas veces, los frameworks requieren cierto tipo de abstraccin para manejar
adecuadamente los modelos, esto significa que el acceso a los datos puede
resumirse en una simple clase que herede de una ms abstracta y que ya tenga la
implementacin de la conexin a la base de datos (singleton), y otro tipo de
procesos de abstraccin.
En el siguiente ejemplo, se reitera lo dicho anteriormente al implementar un
modelo directamente del espacio de nombres Models.
usingSystem;

usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;

namespaceMvcSimpleModelBinding.Models
{
public

classPerson
{
public

intId {
get
;
set
;}

public

stringName {
get
;
set
;}
public

intAge {
get
;
set
;}

public

stringStreet {
get
;
set
;}
public

stringCity {
get
;
set
;}

public

stringState {
get
;
set
;}
public

intZipcode {
get
;
set
;}
}
}

La clase persona, es un smil de una tabla con el mismo nombre en la base de datos
de la aplicacin. Los campos, seran cada uno de los atributos definidos en la
declaracin de la clase.

EL CONTROLADOR

Los controladores son tal vez la parte ms importante de la aplicacin, pues como
su nombre lo indica, controlan el comportamiento de la aplicacin. Los
controladores son los encargados de comunicarse con el modelo para la obtencin
de datos, y posteriormente la seleccin de una vista para mostrar dicha
informacin. Los controladores tambin se encargan de recibir las interacciones
del usuario y responder a ellas mediante los conocidos
listeners.
A continuacin se presenta un controlador para la clase anteriormente definida en
el modelo.
public
classPersonController : Controller
{
staticList<Person> people =

newList<Person>();
// GET: /Person/

publicActionResult Index() {

returnView(people); }
// GET: /Person/Details/5

publicActionResult Details(Person person) {

returnView(person); }
// GET: /Person/Create

publicActionResult Create() {

returnView(); }
// POST: /Person/Create

[AcceptVerbs(HttpVerbs.Post)]
publicActionResult Create(Person person)

{
if(!ModelState.IsValid)

returnView(

"Create"
, person);

people.Add(person);
returnRedirectToAction(

"Index"
);
}
}

Los mtodos descritos en esta clase sirven para crear, detallar y ver un elemento
persona de la base de datos. El controlador obtiene dichos datos comunicndose
con el modelo y en posteriormente los mostrara en la vista.

LA VISTA

Las vistas son los componentes visuales que muestra la aplicacin al usuario.
Normalmente dichas vistas contienen datos trados directamente del modelo, por
lo cual, debe existir alguna comunicacin previa del controlador con el modelo y su
posterior envo a la vista.
A continuacin, vemos la vista del controlador y modelos mencionados
anteriormente.
<h2>Index</h2>
<table>
<tr>
<th></th>
<th>Id</th>
<th>Name</th>
</tr>
<%
foreach(
varperson
inModel) { %>
<tr>
<td><%= Html.ActionLink(
"Details"
,
"Details"
, person )%></td>
<td><%= Html.Encode(person.Id) %></td>
<td><%= Html.Encode(person.Name) %></td>
</tr>
<% } %>
</table>
<p><%= Html.ActionLink(
"Create New"
,
"Create"
) %></p>

Ntese el uso de las etiquetas de apertura y cierre


<% %> para embeber el
cdigo. Todo lo dems, es simple HTML.

RECOMENDACIONES
-

Al trabajar con el patrn de arquitectura MVC hay que tener en cuenta la


separacin de componentes y no mezclarlos todos en un solo archivo.
Los modelos, no deberan tener cdigo a modo de control en su definicin, para
eso existen los controladores.
Las vistas no deberan contener datos quedamos en la aplicacin, deberan
conectarse al modelo (mediante un controlador) y mostrar los datos vivos desde
la base de datos.
Al aplicar el patrn MVC deber considerar otros patrones que ayudan a construir
aplicaciones ms robustas, por ejemplo el singleton, fbrica de clases, adapter,
ect.

CONCLUSIONES
Con lo anterior visto podemos concluir que el uso de MVC en el diseo de contenidos
web no solamente permite estandarizar la forma de codificar y manejar contenidos sino
que adems ofrece un ecosistema bastante nutrido en la que con diferentes
herramientas (FrameWorks), tanto modeladores como programadores pueden generar
en poco tiempo proyectos slidos, fluids y seguros.

BIBLIOGRAFA
-

Librosweb.es
(2015, Octubre). El patrn MVC .desde:
http://librosweb.es/libro/symfony_1_2/capitulo_2/el_patron_mvc.html
Clavei.es
(2015, Octubre). Aporte del MVC al desarrollo de aplicaciones web
.desde:
http://www.clavei.es/blog/2012/que-aporta-mvc-al-desarrollo-de-aplicaciones-we
b
Juandarodriguez.es
(2015, Octubre). curso web ASP.NET MVC .desde:
http://juandarodriguez.es/cursosf14/unidad2.html
Maestrosdelweb.com
(2015, Octubre). Desarrollo Multinivel para aplicaciones
basadas en la web .desde:
http://www.maestrosdelweb.com/desarrollo-multinivel-para-aplicaciones-basada
s-en-el-web/
Maninformatic.blogspot.com.ar(
2015, Octubre). Aprende sobre el MVCNext
.desde:
http://maninformatic.blogspot.com.ar/2013/10/aprender-mvcmodelo-vista-contr
olador.html

OTROS ENLACES
-

YouTube.com
(2015, Octubre). #NinjaHang - Todo sobre MVC 6 .desde:
https://www.youtube.com/watch?v=zdBd9lQIwu8

You might also like