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
Publicar un comentario