Modelos

 

Modelos

MVC

El patrón MVC es una arquitectura de software que organiza una aplicación en tres componentes clave: Modelo, Vista y Controlador.

·        Modelo (Model): Representa la lógica del negocio y los datos subyacentes de la aplicación.

 

·        Vista (View): Encargada de presentar la información al usuario y recibir sus interacciones.

 

·        Controlador (Controller): Gestiona las interacciones del usuario y actualiza tanto el Modelo como la Vista según sea necesario.

Este patrón facilita la separación de preocupaciones en una aplicación, simplificando el mantenimiento y la escalabilidad. Cada componente tiene funciones específicas, permitiendo la reutilización eficiente del código.

 

DAO

El patrón DAO introduce una capa de abstracción entre la lógica del negocio y el acceso a los datos mediante objetos especializados (DAOs). Estos objetos encapsulan las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) relacionadas con la manipulación de datos.


Este enfoque permite separar la lógica de acceso a datos de la lógica del negocio, gestionando la conexión y las interacciones con la base de datos. Además, posibilita cambios en el sistema de almacenamiento sin afectar la lógica del negocio.

CQRS

CQRS separa las operaciones de lectura (query) de las operaciones de escritura (command) en una aplicación. Emplea modelos de datos diferentes para cada tipo de operación, donde los comandos modifican el estado y las consultas devuelven datos sin modificar el estado.


Este enfoque es beneficioso en situaciones donde las operaciones de lectura y escritura tienen cargas desiguales, permitiendo optimizar cada modelo para su tarea específica. Además, simplifica la lógica de manejo de comandos y consultas al separarlas claramente.

DDD

 

DDD es una filosofía de diseño que se centra en comprender y modelar el dominio de la aplicación. Introduce conceptos como entidades, objetos de valor, agregados y servicios de dominio para representar y resolver problemas del mundo real en el código.


Este enfoque es valioso para diseñar sistemas complejos, al centrarse en el núcleo del problema y en la interacción entre los diferentes elementos del dominio. DDD fomenta la colaboración entre expertos en el dominio y desarrolladores para construir un modelo preciso que refleje la realidad.

 

MVVM

MVVM es un patrón de diseño arquitectónico comúnmente usado en aplicaciones con interfaces de usuario. Se compone de tres partes principales:


·        Modelo (Model): Representa la lógica y los datos.

·        Vista (View): Presenta la información y recibe las interacciones del usuario.

·        ViewModel (ViewModel): Actúa como intermediario entre la Vista y el Modelo, gestionando la lógica de presentación y adaptando los datos para la Vista.

Este patrón es particularmente útil en el desarrollo de aplicaciones con interfaces gráficas, como aplicaciones web o de escritorio.

 

MVP

Similar a MVC, en MVP el Presentador (Presenter) actúa como un intermediario más activo entre el Modelo y la Vista. El Presentador maneja las interacciones del usuario y actualiza directamente la Vista y el Modelo.


Este enfoque se utiliza para separar las responsabilidades y mejorar la testabilidad en el desarrollo de interfaces de usuario. La Vista y el Modelo no interactúan directamente, lo que facilita las pruebas unitarias y la modularidad.

Referencias

MVC Framework - Introduction. (2023). Tutorialspoint.com. https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm#:~:text=The%20Model%2DView%2DController%20(,development%20aspects%20of%20an%20application.

 

Design Patterns: Data Access Object. (2019). Oracle.com. https://www.oracle.com/java/technologies/data-access-object.html

 

Kinza Yasar, & Heusser, M. (2023). CQRS (command query responsibility segregation). App Architecture; TechTarget. https://www.techtarget.com/searchapparchitecture/definition/CQRS-command-query-responsibility-segregation#:~:text=Command%20query%20responsibility%20segregation%20(CQRS,and%20hide%20complex%2C%20multisystem%20changes.

 

ddd-domain-driven-design/Readme.md at master · miguelemos/ddd-domain-driven-design. (2023). GitHub. https://github.com/miguelemos/ddd-domain-driven-design/blob/master/Readme.md

 

michaelstonis. (2023, June 8). Modelo-Vista-Modelo de vista - .NET. Microsoft.com. https://learn.microsoft.com/es-es/dotnet/architecture/maui/mvvm

Arman Kolahan. (2020, June 2). Model View Presenter (MVP) Architecture on Android - Arman Kolahan - Medium. Medium; Medium. https://armanco.medium.com/model-view-presenter-mvp-architecture-on-android-30137bf13a0a

Comentarios

Entradas populares de este blog

Factory Method

Builder