SlideShare una empresa de Scribd logo
MODELO
VISTA
CONTROLADOR
MODELO MVC
2
¿Que es MVC?
●Es un patrón de diseño de software.
●Una solución general y repetible a
problemas comunes
●“Plantilla”
3
¿Es tan solo un patrón?
No es solo un patrón, es el patrón, mas usado en la
industria para desarrollar aplicaciones escalables, no se
limita a un solo lenguaje, si no que puede ser usado en
muchos FRAMEWORKS.
4
¿Que pretende?
Uno de los objetivos principales de MVC es la separación
de responsabilidades, pero sobretodo la separación bien
definida entre la capa de presentación y la lógica de
negocio
Model
Controller
View
El Modelo
En la capa Modelo encontraremos siempre una representación de los
datos del dominio, es decir, aquellas entidades que nos servirán para
almacenar información del sistema que estamos desarrollando. Por
ejemplo, si estamos desarrollando una aplicación de facturación, en el
modelo existirán las clases Factura, Cliente o Proveedor, entre otras.
El Modelo
Si nuestra aplicación forma parte de un sistema distribuido, es decir,
consume servicios prestados por otros sistemas, en el Modelo
encontraremos las clases de transferencia de datos (DTO, Data
Transfer Objects) que nos permitirán intercambiar información con
ellos.
El Modelo
Asimismo, encontraremos la lógica de negocio de la aplicación, es
decir, la implementación de las reglas, acciones y restricciones que nos
permiten gestionar las entidades del dominio. Será por tanto el
responsable de que el sistema se encuentre siempre en un estado
consistente e íntegro.
El Modelo
Por último, el Modelo será también el encargado de gestionar el
almacenamiento y recuperación de datos y entidades del dominio, es
decir, incluirá mecanismos de persistencia o será capaz de interactuar
con ellos. Dado que habitualmente la persistencia se delega a un
motor de bases de datos, es muy frecuente encontrar en el Modelo la
implementación de componentes tipo DAL (Data Access Layer, o Capa
de Acceso a Datos) y ORMs.
El Modelo contiene principalmente
las entidades que representan el
dominio, la lógica de negocio, y los
mecanismos de persistencia de
nuestro sistema.
La Vista
Los componentes de la Vista son los responsables de generar la
interfaz de nuestra aplicación, es decir, de componer las pantallas,
páginas, o cualquier tipo de resultado utilizable por el usuario o cliente
del sistema. De hecho, suele decirse que la Vista es una
representación del estado del Modelo en un momento concreto y en
el contexto de una acción determinada.
La Vista
Por ejemplo, si un usuario está consultando una factura a través de
una aplicación web, la Vista se encargará de representar visualmente
el estado actual de la misma en forma de página visualizable en su
navegador. Si en un contexto B2B el cliente de nuestro sistema es a su
vez otro sistema, la vista podría ser un archivo XML con la información
solicitada. En ambos casos se trataría de la misma factura, es decir, la
misma entidad del Modelo, pero su representación es distinta en
función de los requisitos.
La Vista
Cuando las vistas componen la interfaz de usuario de una aplicación,
deberán contener los elementos de interacción que permitan al
usuario enviar información e invocar acciones en el sistema, como
botones, cuadros de edición o cualquier otro tipo de elemento,
convenientemente adaptados a la tecnología del cliente.
La Vista
En el caso de las aplicaciones para la Web, normalmente en la Vista se
encontrarán los componentes capaces de generar el lenguaje de
marcado de la página que será enviada al usuario.
En la Vista encontraremos los
componentes responsables de
generar la interfaz con el exterior,
por regla general, aunque no
exclusivamente, el UI de nuestra
aplicación.
El Controlador
La misión principal de los componentes incluidos en el Controlador es
actuar como intermediarios entre el usuario y el sistema. Serán
capaces de capturar las acciones de éste sobre la Vista, como puede
ser la pulsación de un botón o la selección de una opción de menú,
interpretarlas y actuar en función de ellas. Por ejemplo, retornando al
usuario una nueva vista que represente el estado actual del sistema, o
invocando a acciones definidas en el Modelo para consultar o
actualizar información.
El Controlador
Realizarán también tareas de transformación de datos para hacer que
los componentes de la Vista y el Modelo se entiendan. Así, traducirán
la información enviada desde la interfaz, por ejemplo los valores de
campos de un formulario recibidos mediante el protocolo HTTP, a
objetos que puedan ser comprendidos por el Modelo, como pueden
las clases o las entidades del dominio.
El Controlador
Y de la misma forma, el Controlador tomará la información procedente
del Modelo y la adaptará a formatos o estructuras de datos que la
Vista sea capaz de manejar.
Por todo ello, podríamos considerar el Controlador como un
coordinador general del sistema, que regula la navegación y el flujo de
información con el usuario, ejerciendo también como intermediario
entre la capa de Vista y el Modelo.
En el Controlador se encuentran
los componentes capaces de
procesar las interacciones del
usuario, consultar o actualizar el
Modelo, y seleccionar las Vistas
apropiadas en cada momento.
19
Flujo de MVC
20
Flujo de MVC
Como se muestra en el diagrama, las acciones e información procedentes del
usuario serán recogidas exclusivamente por los Controladores. Ningún
componente de otra capa debe acceder a los datos generados desde el
cliente, de la misma forma que sólo los componentes de la Vista estarán
autorizados a generar interfaces de usuario con las que enviar información
de retorno.
Destaca también el papel central del Controlador. Tiene acceso bidireccional
al Modelo, es decir, será capaz tanto de actualizar su estado, invocando por
ejemplo métodos o acciones incluidos en su lógica de negocio, como de
consultar la información que sea necesaria para completar sus tareas
Por otra parte, el Controlador es el encargado de seleccionar la Vista más
apropiada en función de la acción llevada a cabo por el usuario,
suministrándole toda la información que necesite para componer la interfaz.
24
Model
View
Controller
¿Como se verían mis directorios
en mi IDE, mi editor de texto o
en mi explorador de archivos?
Ventajas
El uso del patrón MVC ofrece múltiples ventajas sobre otras maneras de desarrollar
aplicaciones con interfaz de usuario, y en especial para la Web
La clara separación de responsabilidades impuesta por el uso del patrón MVC hace que
los componentes de nuestras aplicaciones tengan sus misiones bien definidas. Por lo
tanto, nuestros sistemas serán más limpios, simples, más fácilmente mantenibles y, a la
postre, más robustos.
Mayor velocidad de desarrollo en equipo, que es consecuencia de lo anterior, ya que al
estar separado en tres partes tan diferenciadas, diferentes programadores pueden
ocuparse de cada parte en paralelo. Esto la hace ideal para el desarrollo de aplicaciones
grandes.
Múltiples vistas a partir del mismo modelo, pudiendo reaprovechar mucho mejor los
desarrollos y asegurando consistencia entre ellas.
Facilidad para realización de pruebas unitarias.
Desventajas
Hay que ceñirse a las convenciones y al patrón. El uso de las convenciones impuestas por
el framework y la estructura propuesta por el patrón arquitectural MVC nos obliga a
ceñirnos a las mismas, lo que puede resultar a veces algo tedioso si lo comparamos con la
forma habitual de trabajar con otros frameworks que dan más libertad al desarrollador. La
división impuesta por el patrón MVC obliga a mantener un mayor número de archivos,
incluso para tareas simples.
Curva de aprendizaje. Dependiendo del punto de partida, el salto a MVC puede resultar
un cambio radical y su adopción requerirá cierto esfuerzo. Además, utilizarlo implica
conocer bien las tecnologías subyacentes con las que se implemente: la plataforma de
programación utilizada, además de la tecnología utilizada para la interfaz de usuario
(HTML, CSS, JavaScript en el caso de la Web).
De todos modos, el uso del patrón MVC y sus variantes está claro que ha triunfado en
todo tipo de desarrollos (Web, móvil, de escritorio...) y en todo tipo de plataformas (rara
es la plataforma actual que no lo implementa para uno o varios tipos de desarrollos). En
la actualidad no te puedes permitir el lujo de no conocerlo.

Más contenido relacionado

Similar a modelo MVC.pptx

Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontroladorRené Pilataxi
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
AnthonyJosuVillar
 
ASP.NET
ASP.NETASP.NET
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
com2merwil
 
Framework
FrameworkFramework
Framework
carlos0903199520
 
Sistema de ventas, compras y almacén
Sistema de ventas, compras y almacénSistema de ventas, compras y almacén
Sistema de ventas, compras y almacén
Leo Ruelas Rojas
 
Asp
AspAsp
Web 2
Web 2Web 2
MVC.ppt
MVC.pptMVC.ppt
MVC.ppt
PachinLoco
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palmaLaura Palma
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controladorCecy Villalta
 
Arquitectura Mvc
Arquitectura MvcArquitectura Mvc
Arquitectura Mvc
Lupita Lopez Glez
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
Vince Qu
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidor
vinceq
 

Similar a modelo MVC.pptx (20)

Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Sistema de ventas, compras y almacén
Sistema de ventas, compras y almacénSistema de ventas, compras y almacén
Sistema de ventas, compras y almacén
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
Asp
AspAsp
Asp
 
182000
182000182000
182000
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Web 2
Web 2Web 2
Web 2
 
MVC.ppt
MVC.pptMVC.ppt
MVC.ppt
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
Arquitectura Mvc
Arquitectura MvcArquitectura Mvc
Arquitectura Mvc
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidor
 

Más de Ram Vazquez

Comparación, pruebas y saltos en ensamblador
Comparación, pruebas y saltos en ensambladorComparación, pruebas y saltos en ensamblador
Comparación, pruebas y saltos en ensamblador
Ram Vazquez
 
Ciclos y Captura basica de cadenas y caracteres.pptx
Ciclos y Captura basica de cadenas y caracteres.pptxCiclos y Captura basica de cadenas y caracteres.pptx
Ciclos y Captura basica de cadenas y caracteres.pptx
Ram Vazquez
 
Ensamblador y ligador conceptos basicos.pptx
Ensamblador y ligador conceptos basicos.pptxEnsamblador y ligador conceptos basicos.pptx
Ensamblador y ligador conceptos basicos.pptx
Ram Vazquez
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx
Ram Vazquez
 
2.3 Ejemplo de casos recursivos.pptx
2.3 Ejemplo de casos recursivos.pptx2.3 Ejemplo de casos recursivos.pptx
2.3 Ejemplo de casos recursivos.pptx
Ram Vazquez
 
2.2 Procedimientos recursivos.pptx
2.2 Procedimientos recursivos.pptx2.2 Procedimientos recursivos.pptx
2.2 Procedimientos recursivos.pptx
Ram Vazquez
 
2.1 Recursividad.pptx
2.1 Recursividad.pptx2.1 Recursividad.pptx
2.1 Recursividad.pptx
Ram Vazquez
 
Tipos de datos abstractos (TDA)
Tipos de datos abstractos (TDA)Tipos de datos abstractos (TDA)
Tipos de datos abstractos (TDA)
Ram Vazquez
 
Clasificación de las estructuras de datos.pptx
Clasificación de las estructuras de datos.pptxClasificación de las estructuras de datos.pptx
Clasificación de las estructuras de datos.pptx
Ram Vazquez
 
4.2 Redes Neuronales.pptx
4.2 Redes Neuronales.pptx4.2 Redes Neuronales.pptx
4.2 Redes Neuronales.pptx
Ram Vazquez
 
Unidad 4.1.pptx
Unidad 4.1.pptxUnidad 4.1.pptx
Unidad 4.1.pptx
Ram Vazquez
 
3.3 - 2 Búsqueda Sistemática.pptx
3.3 - 2 Búsqueda Sistemática.pptx3.3 - 2 Búsqueda Sistemática.pptx
3.3 - 2 Búsqueda Sistemática.pptx
Ram Vazquez
 
3.5 Semántica de las reglas de producción.pptx
3.5 Semántica de las reglas de producción.pptx3.5 Semántica de las reglas de producción.pptx
3.5 Semántica de las reglas de producción.pptx
Ram Vazquez
 
2.3 Recoleccion y tratamiento de datos.pptx
2.3 Recoleccion y tratamiento de datos.pptx2.3 Recoleccion y tratamiento de datos.pptx
2.3 Recoleccion y tratamiento de datos.pptx
Ram Vazquez
 
3.4 Sintaxis de las reglas de producción.pptx
3.4 Sintaxis de las reglas de producción.pptx3.4 Sintaxis de las reglas de producción.pptx
3.4 Sintaxis de las reglas de producción.pptx
Ram Vazquez
 
3.3 Reglas de producción.pptx
3.3 Reglas de producción.pptx3.3 Reglas de producción.pptx
3.3 Reglas de producción.pptx
Ram Vazquez
 
3.2 Metodos de interferencia.pptx
3.2 Metodos de interferencia.pptx3.2 Metodos de interferencia.pptx
3.2 Metodos de interferencia.pptx
Ram Vazquez
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
Ram Vazquez
 
2.9 Teorema de bayes.pptx
2.9 Teorema de bayes.pptx2.9 Teorema de bayes.pptx
2.9 Teorema de bayes.pptx
Ram Vazquez
 
2.8 Razonamiento probabilístico..pptx
2.8 Razonamiento probabilístico..pptx2.8 Razonamiento probabilístico..pptx
2.8 Razonamiento probabilístico..pptx
Ram Vazquez
 

Más de Ram Vazquez (20)

Comparación, pruebas y saltos en ensamblador
Comparación, pruebas y saltos en ensambladorComparación, pruebas y saltos en ensamblador
Comparación, pruebas y saltos en ensamblador
 
Ciclos y Captura basica de cadenas y caracteres.pptx
Ciclos y Captura basica de cadenas y caracteres.pptxCiclos y Captura basica de cadenas y caracteres.pptx
Ciclos y Captura basica de cadenas y caracteres.pptx
 
Ensamblador y ligador conceptos basicos.pptx
Ensamblador y ligador conceptos basicos.pptxEnsamblador y ligador conceptos basicos.pptx
Ensamblador y ligador conceptos basicos.pptx
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx
 
2.3 Ejemplo de casos recursivos.pptx
2.3 Ejemplo de casos recursivos.pptx2.3 Ejemplo de casos recursivos.pptx
2.3 Ejemplo de casos recursivos.pptx
 
2.2 Procedimientos recursivos.pptx
2.2 Procedimientos recursivos.pptx2.2 Procedimientos recursivos.pptx
2.2 Procedimientos recursivos.pptx
 
2.1 Recursividad.pptx
2.1 Recursividad.pptx2.1 Recursividad.pptx
2.1 Recursividad.pptx
 
Tipos de datos abstractos (TDA)
Tipos de datos abstractos (TDA)Tipos de datos abstractos (TDA)
Tipos de datos abstractos (TDA)
 
Clasificación de las estructuras de datos.pptx
Clasificación de las estructuras de datos.pptxClasificación de las estructuras de datos.pptx
Clasificación de las estructuras de datos.pptx
 
4.2 Redes Neuronales.pptx
4.2 Redes Neuronales.pptx4.2 Redes Neuronales.pptx
4.2 Redes Neuronales.pptx
 
Unidad 4.1.pptx
Unidad 4.1.pptxUnidad 4.1.pptx
Unidad 4.1.pptx
 
3.3 - 2 Búsqueda Sistemática.pptx
3.3 - 2 Búsqueda Sistemática.pptx3.3 - 2 Búsqueda Sistemática.pptx
3.3 - 2 Búsqueda Sistemática.pptx
 
3.5 Semántica de las reglas de producción.pptx
3.5 Semántica de las reglas de producción.pptx3.5 Semántica de las reglas de producción.pptx
3.5 Semántica de las reglas de producción.pptx
 
2.3 Recoleccion y tratamiento de datos.pptx
2.3 Recoleccion y tratamiento de datos.pptx2.3 Recoleccion y tratamiento de datos.pptx
2.3 Recoleccion y tratamiento de datos.pptx
 
3.4 Sintaxis de las reglas de producción.pptx
3.4 Sintaxis de las reglas de producción.pptx3.4 Sintaxis de las reglas de producción.pptx
3.4 Sintaxis de las reglas de producción.pptx
 
3.3 Reglas de producción.pptx
3.3 Reglas de producción.pptx3.3 Reglas de producción.pptx
3.3 Reglas de producción.pptx
 
3.2 Metodos de interferencia.pptx
3.2 Metodos de interferencia.pptx3.2 Metodos de interferencia.pptx
3.2 Metodos de interferencia.pptx
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
2.9 Teorema de bayes.pptx
2.9 Teorema de bayes.pptx2.9 Teorema de bayes.pptx
2.9 Teorema de bayes.pptx
 
2.8 Razonamiento probabilístico..pptx
2.8 Razonamiento probabilístico..pptx2.8 Razonamiento probabilístico..pptx
2.8 Razonamiento probabilístico..pptx
 

Último

FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
ELIANAMARIBELBURBANO
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docxPLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
DavidAlvarez758073
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
PabloPazmio14
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 

Último (20)

FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docxPLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 

modelo MVC.pptx

  • 2. 2 ¿Que es MVC? ●Es un patrón de diseño de software. ●Una solución general y repetible a problemas comunes ●“Plantilla”
  • 3. 3 ¿Es tan solo un patrón? No es solo un patrón, es el patrón, mas usado en la industria para desarrollar aplicaciones escalables, no se limita a un solo lenguaje, si no que puede ser usado en muchos FRAMEWORKS.
  • 4. 4 ¿Que pretende? Uno de los objetivos principales de MVC es la separación de responsabilidades, pero sobretodo la separación bien definida entre la capa de presentación y la lógica de negocio Model Controller View
  • 5. El Modelo En la capa Modelo encontraremos siempre una representación de los datos del dominio, es decir, aquellas entidades que nos servirán para almacenar información del sistema que estamos desarrollando. Por ejemplo, si estamos desarrollando una aplicación de facturación, en el modelo existirán las clases Factura, Cliente o Proveedor, entre otras.
  • 6. El Modelo Si nuestra aplicación forma parte de un sistema distribuido, es decir, consume servicios prestados por otros sistemas, en el Modelo encontraremos las clases de transferencia de datos (DTO, Data Transfer Objects) que nos permitirán intercambiar información con ellos.
  • 7. El Modelo Asimismo, encontraremos la lógica de negocio de la aplicación, es decir, la implementación de las reglas, acciones y restricciones que nos permiten gestionar las entidades del dominio. Será por tanto el responsable de que el sistema se encuentre siempre en un estado consistente e íntegro.
  • 8. El Modelo Por último, el Modelo será también el encargado de gestionar el almacenamiento y recuperación de datos y entidades del dominio, es decir, incluirá mecanismos de persistencia o será capaz de interactuar con ellos. Dado que habitualmente la persistencia se delega a un motor de bases de datos, es muy frecuente encontrar en el Modelo la implementación de componentes tipo DAL (Data Access Layer, o Capa de Acceso a Datos) y ORMs.
  • 9. El Modelo contiene principalmente las entidades que representan el dominio, la lógica de negocio, y los mecanismos de persistencia de nuestro sistema.
  • 10. La Vista Los componentes de la Vista son los responsables de generar la interfaz de nuestra aplicación, es decir, de componer las pantallas, páginas, o cualquier tipo de resultado utilizable por el usuario o cliente del sistema. De hecho, suele decirse que la Vista es una representación del estado del Modelo en un momento concreto y en el contexto de una acción determinada.
  • 11. La Vista Por ejemplo, si un usuario está consultando una factura a través de una aplicación web, la Vista se encargará de representar visualmente el estado actual de la misma en forma de página visualizable en su navegador. Si en un contexto B2B el cliente de nuestro sistema es a su vez otro sistema, la vista podría ser un archivo XML con la información solicitada. En ambos casos se trataría de la misma factura, es decir, la misma entidad del Modelo, pero su representación es distinta en función de los requisitos.
  • 12. La Vista Cuando las vistas componen la interfaz de usuario de una aplicación, deberán contener los elementos de interacción que permitan al usuario enviar información e invocar acciones en el sistema, como botones, cuadros de edición o cualquier otro tipo de elemento, convenientemente adaptados a la tecnología del cliente.
  • 13. La Vista En el caso de las aplicaciones para la Web, normalmente en la Vista se encontrarán los componentes capaces de generar el lenguaje de marcado de la página que será enviada al usuario.
  • 14. En la Vista encontraremos los componentes responsables de generar la interfaz con el exterior, por regla general, aunque no exclusivamente, el UI de nuestra aplicación.
  • 15. El Controlador La misión principal de los componentes incluidos en el Controlador es actuar como intermediarios entre el usuario y el sistema. Serán capaces de capturar las acciones de éste sobre la Vista, como puede ser la pulsación de un botón o la selección de una opción de menú, interpretarlas y actuar en función de ellas. Por ejemplo, retornando al usuario una nueva vista que represente el estado actual del sistema, o invocando a acciones definidas en el Modelo para consultar o actualizar información.
  • 16. El Controlador Realizarán también tareas de transformación de datos para hacer que los componentes de la Vista y el Modelo se entiendan. Así, traducirán la información enviada desde la interfaz, por ejemplo los valores de campos de un formulario recibidos mediante el protocolo HTTP, a objetos que puedan ser comprendidos por el Modelo, como pueden las clases o las entidades del dominio.
  • 17. El Controlador Y de la misma forma, el Controlador tomará la información procedente del Modelo y la adaptará a formatos o estructuras de datos que la Vista sea capaz de manejar. Por todo ello, podríamos considerar el Controlador como un coordinador general del sistema, que regula la navegación y el flujo de información con el usuario, ejerciendo también como intermediario entre la capa de Vista y el Modelo.
  • 18. En el Controlador se encuentran los componentes capaces de procesar las interacciones del usuario, consultar o actualizar el Modelo, y seleccionar las Vistas apropiadas en cada momento.
  • 21. Como se muestra en el diagrama, las acciones e información procedentes del usuario serán recogidas exclusivamente por los Controladores. Ningún componente de otra capa debe acceder a los datos generados desde el cliente, de la misma forma que sólo los componentes de la Vista estarán autorizados a generar interfaces de usuario con las que enviar información de retorno.
  • 22. Destaca también el papel central del Controlador. Tiene acceso bidireccional al Modelo, es decir, será capaz tanto de actualizar su estado, invocando por ejemplo métodos o acciones incluidos en su lógica de negocio, como de consultar la información que sea necesaria para completar sus tareas
  • 23. Por otra parte, el Controlador es el encargado de seleccionar la Vista más apropiada en función de la acción llevada a cabo por el usuario, suministrándole toda la información que necesite para componer la interfaz.
  • 24. 24 Model View Controller ¿Como se verían mis directorios en mi IDE, mi editor de texto o en mi explorador de archivos?
  • 25. Ventajas El uso del patrón MVC ofrece múltiples ventajas sobre otras maneras de desarrollar aplicaciones con interfaz de usuario, y en especial para la Web La clara separación de responsabilidades impuesta por el uso del patrón MVC hace que los componentes de nuestras aplicaciones tengan sus misiones bien definidas. Por lo tanto, nuestros sistemas serán más limpios, simples, más fácilmente mantenibles y, a la postre, más robustos. Mayor velocidad de desarrollo en equipo, que es consecuencia de lo anterior, ya que al estar separado en tres partes tan diferenciadas, diferentes programadores pueden ocuparse de cada parte en paralelo. Esto la hace ideal para el desarrollo de aplicaciones grandes. Múltiples vistas a partir del mismo modelo, pudiendo reaprovechar mucho mejor los desarrollos y asegurando consistencia entre ellas. Facilidad para realización de pruebas unitarias.
  • 26. Desventajas Hay que ceñirse a las convenciones y al patrón. El uso de las convenciones impuestas por el framework y la estructura propuesta por el patrón arquitectural MVC nos obliga a ceñirnos a las mismas, lo que puede resultar a veces algo tedioso si lo comparamos con la forma habitual de trabajar con otros frameworks que dan más libertad al desarrollador. La división impuesta por el patrón MVC obliga a mantener un mayor número de archivos, incluso para tareas simples. Curva de aprendizaje. Dependiendo del punto de partida, el salto a MVC puede resultar un cambio radical y su adopción requerirá cierto esfuerzo. Además, utilizarlo implica conocer bien las tecnologías subyacentes con las que se implemente: la plataforma de programación utilizada, además de la tecnología utilizada para la interfaz de usuario (HTML, CSS, JavaScript en el caso de la Web).
  • 27. De todos modos, el uso del patrón MVC y sus variantes está claro que ha triunfado en todo tipo de desarrollos (Web, móvil, de escritorio...) y en todo tipo de plataformas (rara es la plataforma actual que no lo implementa para uno o varios tipos de desarrollos). En la actualidad no te puedes permitir el lujo de no conocerlo.