PATRONES EMERGENTES
¿Qué son los patrones de diseño y porque debemos usarlos?
Los patrones de diseño (design patterns) son elementos reutilizables creados para resolver problemas comunes. Es decir que con su aplicación y utilización podremos corregir diferentes problemas que presenta nuestro código de una manera segura, estable y testeada por cientos de programadores de todo el mundo.
1. MVC:
MVC (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. Esta "separación de preocupaciones" proporciona una mejor división del trabajo y una mejora de mantenimiento. Algunos otros patrones de diseño se basan en MVC, como MVVM (Modelo-Vista-modelo de vista), MVP (Modelo-Vista-Presentador) y MVW (Modelo-Vista-Whatever).
2. DAO:
Patrón Arquitectónico Data Access Object (DAO), el cual permite separar la lógica de acceso a datos de los Objetos de negocios (Bussines Objects), de tal forma que el DAO encapsula toda la lógica de acceso de datos al resto de la aplicación.
3. CQRS:
CQRS significa segregación de responsabilidades de comandos y consultas, un patrón que separa las operaciones de lectura y actualización de un almacén de datos. La implementación de CQRS en la aplicación puede maximizar el rendimiento, la escalabilidad y la seguridad. La flexibilidad creada al migrar a CQRS permite que un sistema evolucione mejor con el tiempo y evita que los comandos de actualización provoquen conflictos de combinación en el nivel de dominio.
4. DDD:
Domain Driven Design (desde ahora DDD) es un enfoque de desarrollo de software utilizado por Eric Evans en su libro “ Domain-Driven Design — Tackling Complexity in the Heart of Software, 2004”. Representa distintas claves, terminología y patrones utilizados para desarrollar software donde el dominio es lo más central e importante de una determinada organización.
Ejemplo de DDD
5. MVVM:
El patrón MVVM ayuda a separar limpiamente la lógica de presentación y negocios de una aplicación de su interfaz de usuario (UI). Mantener una separación limpia entre la lógica de la aplicación y la interfaz de usuario ayuda a abordar numerosos problemas de desarrollo y facilita la prueba, el mantenimiento y la evolución de una aplicación. También puede mejorar considerablemente las oportunidades de reutilización del código y permite a los desarrolladores y a los diseñadores de la interfaz de usuario colaborar más fácilmente al desarrollar sus respectivas partes de una aplicación.
6. MVP:
El Modelo Vista Presentador (En español) es uno de los patrones de arquitectura de desarrollo más comunes y usados en el desarrollo nativo de Android. La necesidad de utilizar este patrón surge debido a lo complicado que puede llegar a ser el mantenimiento y escalamiento de un proyecto que va creciendo a lo largo del tiempo y líneas de código. El uso de esta arquitectura lleva a que cualquier persona pueda fácilmente mejorar, actualizar, modificar o arreglar cualquier parte de la aplicación. Si bien aunque el patrón MVP establece una serie de lineamientos, debemos tener en cuenta que cada proyecto puede llegar a implementarlo con algunas variaciones, por lo que no es una solución absoluta.
Fuentes:
- Recuperado el 10 de diciembre: https://craft-code.com/que-son-los-patrones-de-diseno/#:~:text=Los%20patrones%20de%20diseño%20(design,programadores%20de%20todo%20el%20mundo.
- Recuperado el 10 de diciembre: https://developer.mozilla.org/es/docs/Glossary/MVC
- Recuperado el 12 de diciembre: https://reactiveprogramming.io/blog/es/patrones-arquitectonicos/dao
- Recuperado el 12 de diciembre: https://learn.microsoft.com/es-es/azure/architecture/patterns/cqrs
- Recuperado el 12 de diciembre: https://medium.com/@jonathanloscalzo/domain-driven-design-principios-beneficios-y-elementos-primera-parte-aad90f30aa35
- Recuperado el 13 de diciembre: https://learn.microsoft.com/es-es/dotnet/architecture/maui/mvvm
- Recuperado el 13 de diciembre: https://medium.com/@carloslopez_19744/%EF%B8%8F-arquitectura-mvp-en-android-para-principiantes-30b5675ff7b6
Comentarios
Publicar un comentario