[MUSIC]
En el desarrollo web a menudo escuchas a la gente hablando sobre el marco MVC y
el marco MVVM, etc.
¿Cuáles son exactamente estos marcos?
¿Cómo son útiles en el desarrollo web?
Vamos a hablar de eso brevemente a continuación.
En el mundo de la ingeniería de software,
a menudo escuchas a la gente hablando de patrones de diseño.
Lo que quieren decir exactamente es dejar de reinventar la rueda cada vez.
Un patrón de diseño es una solución bien documentada a un problema recurrente.
Muy a menudo, te ves a ti mismo resolviendo repetidamente problemas similares.
Si tenemos una documentación bien especificada de cómo resolver estos problemas,
¿por qué seguir reinventando la rueda cada vez?
Así que ahí es donde se origina el concepto de patrón de diseño de ingeniería del software
.
A veces también se ve a la gente que se refiere a esto como un patrón de arquitectura.
Así que para resumir, los patrones de diseño de software en particular son una solución
reutilizable a los problemas que ocurren comúnmente y que se resuelven en el software.
Ahora, en este contexto, a menudo escuchas a la gente hablando de la banda de los cuatro.
Este fue un grupo de cuatro autores que escribieron este libro seminal llamado
Design Patterns: Elements of Reutilizable Object-Oriented Software.
En este libro, identificaron un gran conjunto de patrones
de diseño comúnmente usados en ingeniería de software.
Esta fue una de las primeras exploraciones bien documentadas de patrones de diseño,
y por lo tanto, se convirtió en el estándar de oro para cualquiera que trabaje en ingeniería de software
, especialmente preocupado por los paquetes de diseño.
Este patrón de ingeniería de software nos permite aislar la lógica de dominio
de la interfaz de usuario.
Así que básicamente estás separando la vista del usuario de la información
de la lógica real y cómo la información almacenada y manipulada.
Ahora este concepto de separación de preocupaciones que vas a estar escuchando y
otra vez en este contexto.
La separación de preocupaciones es lo que facilita el desarrollo independiente de
cada una de estas tres partes de nuestra aplicación y
también permite probar y mantener estas diferentes partes.
Ahora podemos dividir toda nuestra aplicación en tres partes,
la vista que se ocupa principalmente de presentar información al usuario,
el modelo que almacena el estado del dominio y la lógica del dominio y
también proporciona la forma de
manipular este estado desde el resto de la aplicación y
el controlador que media entre la vista y el modelo.
A continuación hablaremos de cada una de estas tres partes con un poco más de detalle.
En el marco MVC, el modelo administra el comportamiento y los datos
del dominio de la aplicación.
Y el modelo responde a las solicitudes de información sobre su estado actual.
Por lo general, cuando la vista quiere renderizar, o la vista quiere actualizar
en sí misma, puede consultar el modelo para obtener información de modo
que pueda representarse apropiadamente para el usuario.
El modelo también responderá a las solicitudes de cambio de su estado.
Esto generalmente se hace a través del control.
En un sistema impulsado por eventos,
el modelo también se puede configurar para notificar a los observadores.
Para que los espectadores puedan registrarse como observadores para el modelo y, por lo tanto,
cuando el modelo se actualice, las vistas se activarán automáticamente a
actualizarse basándose en el cambio a ese estado del modelo.
La vista en sí misma se refiere a presentar la información a los usuarios en un elemento de interfaz de usuario
de tal manera que facilite tanto la presentación de información
al usuario como también permita al usuario interactuar con la aplicación.
Por lo tanto, la vista puede representar una representación del estado del modelo.
Por lo tanto, desde un solo modelo, puede derivar fácilmente varias formas
presentando esta información al usuario, dependiendo de por ejemplo
, dependiendo del tamaño de la ventana gráfica.
Así que una ventana gráfica de pequeño tamaño como en una aplicación móvil,
la información se presentará de una manera diferente a
a un puerto de vista más grande que se facilita en una computadora de escritorio.
Entonces, en un marco MVC, toda la visualización de información tiene una correspondencia de uno a
uno con el estado del modelo.
La tercera pieza de rompecabezas en el marco de MCV es el controlador.
El trabajo del controlador es recibir información de la vista.
Por lo tanto, cualquier interacción del usuario que se realice será capturada y
luego pasada al controlador para actuar sobre estas interacciones del usuario.
Y es el trabajo del controlador entonces iniciar un cambio del estado de
el modelo, si es necesario en esta situación particular.
Entonces, el controlador causará apropiadamente el cambio del estado del modelo.
Así que para resumir, el controlador puede aceptar la entrada
del usuario en términos de las interacciones del usuario que han tenido lugar, y
entonces instruirá al modelo para cambiar el estado.
Simultáneamente, el controlador también puede
hacer que la vista cambie la forma en que se muestra la información en la vista.
Así que esa es la razón por la que en esta imagen tienes dos flechas
yendo desde el controlador, una hacia el modelo y la otra hacia la vista.
A veces escuchas a la gente hablando sobre el enfoque de la vista de modelo.
El enfoque del modelo de vista de modelo es, en cierto sentido,
una derivada del enfoque del controlador de vista de modelo.
A veces también escuchas a las personas que se refieren a él como el enfoque de encuadernación de vista del modelo
.
Aquí tienes el modelo que representa la lógica de negocio y
los datos de tu aplicación.
Del modelo, se deriva un modelo de vista, que encapsula esa parte
de la información necesaria para representar una vista específica.
Así que el modelo de vista es la abstracción de la vista que expone
las propiedades públicas y los diversos comandos que están disponibles.
Así que esto proporciona un enlace de datos declarativos.
En cierto sentido, la forma en que se implementan el componente y
las plantillas en angular, se puede ver como
una variante del enfoque de vista del modelo view-model.
Con esta rápida comprensión del MVC y el marco MVVM,
vamos a proceder a entender más acerca de los servicios angulares.
[MÚSICA]