8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
1/20
PATRONES DE DISEÑOMODELO-VISTA-CONTROLADOR
Participantes Johanna BarrientosSergio CannobbioMauricio ContrerasDiego CarrascoDavid MancillaDocenteMaría Consuelo Castillo MontenegroAsignatura Ingeniería de SoftwareINGENIERI DE S!"#$ RE & NRC' ()((* CI+,-*+./
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
2/20
INTROD CCI!NEl 0atr1n de ar2uitectura M3C 4Modelo 3ista Controlador5 es un 0atr1n 2ue de6ne organi7aci1n inde0endiente del Mo"e#o 8 la Vista 9 el Contro#a"or$
De esta for:a8 dividi:os el siste:a en tres ca0as donde8 co:o e;0licare:os :lti:o la l1gica interna o controlador?
Es una for:a de resolver la escalabilidad 9 el desaco0la:iento entre las vistas de unaa0licaci1n 9 el Modelo 2ue gestiona los datos?
Su no:bre es un acr1ni:o de' M!DE@! 3IS# C!N#R!@ D!R
M!DE@!
3IS#
C!N#R!@ D!R
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
3/20
El patrón de arquitectura "modelo vista controlador", es una filosofía de diseño daplicaciones, compuesta por:
Modelo
Es la ca0a encargada de datos8 tiene :ecanis:os 0ara acceder a lainfor:aci1n 9 0ara ta:bi=n actuali7ar su estado? Co:>n:ente este seencarga de generar una cone;i1n con la base de datos a la cualesacceder< a tablas 9 reali7ara las funciones habituales de datos?
Vista
Se trata del c1digo 2ue nos 0er:itir< 0resentar los datos 2ue el :odelo
nos 0ro0orciona8 co:o eAe:0lo 0odría:os decir 2ue una a0licaci1nweb es el c1digo #M@ 2ue nos 0er:ite la salida de datos rocesados?
Controlador
Es la ca0a 2ue sirve de enlace entre la vista 9 el :odelo? Envíaco:ando 0ara actuali7ar su estado8 9 a la vista corres0ondiente 0araca:biar su 0resentaci1n8 0ero no es el encargado de :ani0ular los
datos ni generar una salida?
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
4/20
M3C Modelo
Contiene el núcleo de la funcionalidad (dominio) de la aplicación.Encapsula el estado de la aplicación.No sa e nada ! independiente del Controlador la #ista.
Vista
Es la presentación del $odelo.%uede acceder al $odelo pero nunca cam iar su estado.%uede ser notificada cuando &a un cam io de estado en el $odelo.
Controlador 'eacciona a la petición del Cliente, e ecutando la acción adecuada creando el modelo pertinente
M3C
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
5/20
u= es el atr1n M3C
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
6/20
u= es el atr1n M3C
Conceptua#%ente&LA VISTA se actuali7a en funci1n del los ca:bios de estado del Modelo? ElModelo N! conoce 2uien es la 3ista? @a vista interact>a libre:ente con elcontrolador 9 viceversa?
E# MODELO es una re0resentaci1n de los datos de la a0licaci1n o del estado89 contiene 4o 0ro0orciona una interfa7 a5 la l1gica de a0licaci1n? El Modelo
interact>a libre:ente con el Controlador 9 viceversa?
E# CONTROLADOR s1lo gestiona la interacci1n entre el Modelo 9 la 3ista?
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
7/20
ara 2ue sirve atr1n M3C
ara entender c1:o funciona 9 0ara 2ue sirve nuestro 0atr1n Modelvista controlador8 se debe entender la divisi1n a trav=s del conAuntoestos tres ele:entos 9 co:o estos co:0onentes se co:unican unos conlos otros 9 con otras vistas 9 controladores e;ternos a el :odel0rinci0al? ara ello8 es i:0ortante saber 2ue el controlador inter0reta laentradas del usuario 4tanto teclado co:o el rat1n58 enviado el :ensaAde acci1n al :odelo 9 a la vista 0ara 2ue se 0roceda con los ca:bios
2ue se consideren adecuados?
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
8/20
Co%unicaci'nEl :odelo8 la vista 9 el controlador deben co:unicarse de una :anera estable los unoscon los otros8 de :anera 2ue sea coherente con las iteraciones 2ue el usuario reali7ara?
Co:o es l1gico la co:unicaci1n entre la vista 9 el controlador es bastante b
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
9/20
El 0atr1n M3C
M3C' Modelo*3ista*Controlador
Es un 0atr1n de ar2uitectura de las a0licaciones software
Se0ara la l1gica de negocio de la interfa7 de usuario
F "acilita la evoluci1n 0or se0arado de a:bos as0ectos Incre:enta
reutili7aci1n 9 e;ibilidad?
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
10/20
El atr1n M3C
Modelo*3ista*Controlador
Hn :odelo
3arias vistas
3arios controladores
@as vistas 9 los controladores suelen estar :u9 relacionados
@os controladores tratan los eventos 2ue se 0roducen en la interfa7 gr
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
11/20
El 0atr1n M3C
"luAo de control
-? El usuario reali7a una acci1n en la interfa7
/? El controlador trata el evento de entrada revia:ente se haregistrado
? El controlador noti6ca al :odelo la acci1n del usuario8 lo 2ue 0uedei:0licar un ca:bio del estado del :odelo 4si no es una :era consulta5
+? Se genera una nueva vista? @a vista to:a los datos del :odelo El:odelo no tiene conoci:iento directo de la vista
)? @a interfa7 de usuario es0era otra interacci1n del usuario8 2ueco:en7ar< otro nuevo ciclo
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
12/20
M3C en a0licaciones web
Vista ' la 0
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
13/20
M3C en Java Swing
Mo"e#o& El :odelo lo reali7a el desarrolladorVista& ConAunto de obAetos de clases 2ue heredan de
Aava?awt?Co:0onent
Contro#a"or& El controlador es el thread de trata:iento de eventos82ue ca0tura 9 0ro0aga los eventos a la vista 9 al :odelo Clases detrata:iento de los eventos 4a veces co:o clases an1ni:as5 2ue
i:0le:entan interfaces de ti0o Event@istener 4 ction@istener8Mouse@istener8 $indow@istener8 etc?5
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
14/20
Co:o se 0lica M3C
El MVC0er:itiendo inde0endi7ar la l1gica 9 la 0arte visual del siste:a usando0ara eso un controlador 2ue ad:inistra los 0rocesos sirviendo co:o 0uenteentre estos?
Co%o ap#icar MVC correcta%ente
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
15/20
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
16/20
EJEM @! M!DE@!
C!DIG! M HRICI!
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
17/20
EJEM @! 3IS#
C!DIG! M HRICI!
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
18/20
EJEM @! C!N#R!@ D!R
C!DIG! M HRICI!
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
19/20
Bibliografía
Tecno#og+as In,or% ticas para #a .e/ ?htt0'KKwww?lab?inf?uc :?esKLa . . /KR IK:vc?ht:l
Ser icios In,or% ticos ASP$NetServicio de Infor:
8/15/2019 El Patrón Modelo-Vista-Controlador (MVC)
20/20
Conclusi1n
M3C es un 0atr1n de dise o enfocado a se0arar las res0onsabilidadesdentro de nuestra a0licaci1n 9 es :u9 utili7ado en la web 0or su enfo2ue 9las ventaAas 2ue ofrece con res0ecto a algunas otras for:as o 0atrones dedesarrollo de a0licaciones web? uedes encontrar fra:ewor s0r
Top Related