el patrón modelo-vista-controlador (mvc)

Upload: lore-alarcon

Post on 05-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 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