El documento describe el patrón arquitectónico MVC (Modelo-Vista-Controlador). MVC divide una aplicación en tres componentes: el modelo, que representa la lógica de negocio; la vista, que muestra la información al usuario; y el controlador, que maneja las interacciones del usuario y coordina entre el modelo y la vista. El controlador recibe las solicitudes del usuario, accede al modelo para actualizar los datos, y envía la información actualizada a la vista para su presentación.
El documento describe el patrón arquitectónico MVC (Modelo-Vista-Controlador). MVC divide una aplicación en tres componentes: el modelo, que representa la lógica de negocio; la vista, que muestra la información al usuario; y el controlador, que maneja las interacciones del usuario y coordina entre el modelo y la vista. El controlador recibe las solicitudes del usuario, accede al modelo para actualizar los datos, y envía la información actualizada a la vista para su presentación.
El documento describe el patrón arquitectónico MVC (Modelo-Vista-Controlador). MVC divide una aplicación en tres componentes: el modelo, que representa la lógica de negocio; la vista, que muestra la información al usuario; y el controlador, que maneja las interacciones del usuario y coordina entre el modelo y la vista. El controlador recibe las solicitudes del usuario, accede al modelo para actualizar los datos, y envía la información actualizada a la vista para su presentación.
El documento describe el patrón arquitectónico MVC (Modelo-Vista-Controlador). MVC divide una aplicación en tres componentes: el modelo, que representa la lógica de negocio; la vista, que muestra la información al usuario; y el controlador, que maneja las interacciones del usuario y coordina entre el modelo y la vista. El controlador recibe las solicitudes del usuario, accede al modelo para actualizar los datos, y envía la información actualizada a la vista para su presentación.
Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
Está en la página 1de 14
MVC
MVC, son las siglas de modelo-vista-controlador (o en inglés, model-view-
controller), que es uno de los tantos patrones de arquitectura de software.
“la Arquitectura de Software es la forma en la que se organizan los
componentes de un sistema, interactúan y se relacionan entre sí y con el contexto, aplicando normas y principios de diseño y calidad, que fortalezcan y fomenten la usabilidad a la vez que dejan preparado el sistema, para su propia evolución”. Características de la Arquitectura de SW
La Calidad del Software puede definirse como los atributos implícitamente
requeridos en un sistema que deben ser satisfechos. Cuando estos atributos son satisfechos, puede decirse (aunque en forma objetable), que la calidad del software es satisfactoria. Atributos de calidad que pueden observarse durante la ejecución del software:
1. Disponibilidad de uso
2. Confidencialidad, puesto que se debe evitar el acceso no autorizado al
sistema
3. Cumplimiento de la Funcionalidad requerida
4. Desempeño del sistema con respecto a factores tales como la capacidad
de respuesta
5. Confiabilidad dada por la constancia operativa y permanente del sistema
6. Seguridad externa evitando la pérdida de información debido a errores
del sistema
7. Seguridad interna siendo capaz de impedir ataques, usos no autorizados,
etc. Atributos de calidad inherentes al proceso de desarrollo del software:
8. Capacidad de Configurabilidad que el sistema otorga al usuario a fin de
realizar ciertos cambios 9. Integrabilidad de los módulos independientes del sistema 10. Integridad de la información asociada 11.Capacidad de Interoperar con otros sistemas (interoperabilidad) 12.Capacidad de permitir ser Modificable a futuro (modificabilidad) 13.Ser fácilmente Mantenible (mantenibilidad) 14.Capacidad de Portabilidad, es decir que pueda ser ejecutado en diversos ambientes tanto de software como de hardware 15.Tener una estructura que facilite la Reusabilidad de la misma en futuros sistemas 16.Mantener un diseño arquitectónico Escalable que permita su ampliación (escalabilidad) 17.Facilidad de ser Sometido a Pruebas que aseguren que el sistema falla cuando es lo que se espera (testeabilidad) • El Estilo Arquitectónico es el encargado de:
◦ Describir la estructura general de un sistema, independientemente de otros
estilos ◦ Definir los componentes del sistema, su relación e interactividad ◦ Ejemplos : flujo de datos, llamada y retorno, etc.
• El Patrón Arquitectónico es el nivel en el cual la arquitectura de software:
◦ Define la estructura básica de un sistema, pudiendo estar relacionado con otros patrones ◦ Representa una plantilla de construcción que provee un conjunto de subsistemas aportando las normas para su organización ◦ Ejemplos : Capas, MVC, Tuberías y Filtros, Pizarra, etc.
• El Patrón de Diseño es el tercer nivel de abstracción de la arquitectura de
software, cuya finalidad es la de precisar en detalle los subsistemas y componentes de la aplicación ◦ Ejemplos : Proxy, Command, Factory, etc.. ¿Qué es el patrón MVC?
El patrón MVC es un patrón de arquitectura de software encargado de
separar la lógica de negocio de la interfaz del usuario y es el más utilizado en aplicaciones Web, ya que facilita la funcionalidad, mantenibilidad y escalabilidad del sistema, de forma simple y sencilla, a la vez que permite “no mezclar lenguajes de programación en el mismo código”. MVC divide las aplicaciones en tres niveles de abstracción:
• Modelo: representa la lógica de negocios. Es el encargado de accesar de
forma directa a los datos actuando como “intermediario” con la base de datos. Lo que en nuestro ejemplo de programación orientada a objetos, serían las clases DBAbstractModel y Usuario.
• Vista: es la encargada de mostrar la información al usuario de forma gráfica
y “humanamente legible”.
• Controlador: es el intermediario entre la vista y el modelo. Es quien
controla las interacciones del usuario solicitando los datos al modelo y entregándolos a la vista para que ésta, lo presente al usuario, de forma “humanamente legible”. ¿Cómo funciona el patrón MVC? ¿Cómo funciona el patrón MVC?
El funcionamiento básico del patrón MVC, puede resumirse en:
• El usuario realiza una petición
• El controlador captura el evento (puede hacerlo mediante un manejador
de eventos – handler -, por ejemplo)
• Hace la llamada al modelo/modelos correspondientes (por ejemplo,
mediante una llamada de retorno – callback -) efectuando las modificaciones pertinentes sobre el modelo
• El modelo será el encargado de interactuar con la base de datos, ya sea
en forma directa, con una capa de abstracción para ello, un Web Service, etc. Y retornará esta información al controlador. ¿Cómo funciona el patrón MVC?
El funcionamiento básico del patrón MVC, puede resumirse en:
• El controlador recibe la información y la envía a la vista
• La vista, procesa esta información pudiendo hacerlo desde el enfoque que
veremos en este libro, creando una capa de abstracción para la lógica (quien se encargará de procesar los datos) y otra para el diseño de la interfaz gráfica o GUI.
La lógica de la vista, una vez procesados los datos, los “acomodará” en
base al diseño de la GUI - layout – y los entregará al usuario de forma “humanamente legible”. La vista
Como hemos visto anteriormente, la vista representa la interfaz gráfica del
usuario (GUI), es decir, es la encargada de mostrar la información al usuario de manera “humanamente legible”. A tal fin, dividiremos la vista en dos sub-capas: la GUI propiamente dicha y su lógica.
Generalmente, en la práctica, no somos los programadores quienes nos
hemos de encargar de la GUI. Es tarea que corresponde a diseñadores Web o gráficos, según aplique.
Como “arquitectos”, debemos tener preparada la estructura de nuestra
aplicación, para que diseñadores puedan trabajar libremente en la GUI, sin tener que acceder al código PHP. La vista
En principio, la parte gráfica de las vistas (archivos HTML, imágenes, CSS,
etc.), deberá tener un directorio reservado solo para ella. De esta forma, obtenemos varias ventajas de trabajar con el patrón MVC:
• Los archivos estáticos (HTML, CSS, imágenes e incluso JavaScript) pueden
almacenarse en un servidor independiente con todos los beneficios que esto conlleva (al igual que sucede con las bases de datos, los archivos estáticos también pueden independizarse)
• Nos aseguramos de que el código estático (aquel desarrollado por
diseñadores), no “rompa” el núcleo de la aplicación
• Permitimos a los diseñadores trabajar cómodamente en la libertad de
aplicar todos los conocimientos y herramientas inherentes a su área de conocimiento, sin la presión de tener que implementar un lenguaje de programación que desconocen, les es poco familiar o simplemente, la herramienta que utilizan para diseñar, suele dañarles el código no-estático. El controlador
El controlador, aunque muchos de ustedes no lo crean, es quien tal vez, lleva
“la peor parte”. En muchas ocasiones, es complicado programar el controlador de manera previsible para que pueda evolucionar, y generalmente, es sometido a refactorizaciones constantes, incluso mayores que las que puede sufrir el modelo.
Recordemos que el controlador, es quien debe interactuar con el modelo y
con la vista. Para hacerlo, deberá previamente reconocer y manejar los distintos eventos del usuario, para saber:
1. A qué modelo / modelos invocar
2. Qué y cuáles propiedades o atributos del modelo/modelos modificar o parámetros deberá entregar a sus métodos 3. A qué vista entregar la información