Please enable JavaScript.
Coggle requires JavaScript to display documents.
MODELO VISTA - CONTROLADOR - Coggle Diagram
MODELO VISTA - CONTROLADOR
es
un patrón en el diseño de software comúnmente utilizado para implementar interfaces de usuario, datos y lógica de control. Enfatiza una separación entre la lógica de negocios y su visualización
partes
Modelo: Maneja datos y lógica de negocios.
es responsable de
Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: "Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor".
Lleva un registro de las vistas y controladores del sistema.
Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo
Vista: Se encarga del diseño y presentación.
es responsable de
Recibir datos del modelo y los muestra al usuario.
Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
Pueden dar el servicio de "Actualización()", para que sea invocado por el controlador o por el modelo
Controlador: Enruta comandos a los modelos y vistas.
es responsable de
Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
Contiene reglas de gestión de eventos
proporciona
una mejor división del trabajo y una mejora de mantenimiento
flujo de control
El usuario interactúa con la interfaz de usuario de alguna forma.
El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario.
El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario.
Ventajas
El desarrollo de los distintos componentes se puede realizar de manera simultánea entre varios desarrolladores.
Funciona muy bien para aplicaciones web.
El soporte es más sencillo, orientado a un nuevo tipo de clientes.
Alta cohesión: permite la agrupación de lógica de acciones relacionadas en un controlador, lo que lo hace más fácil de leer y reutilizar
Desventajas
La curva de aprendizaje para nuevos desarrolladores es un poco superior a los otros modelos que son más simples.
Tener varias capas nos incrementa la complejidad del sistema.
La navegación por el código puede ser compleja al disponer de más componentes, lo que se traduce en un mayor número de archivos o unidades.
La cantidad de archivos que se deben mantener incrementa considerablemente.