Entradas

Patron de Diseño Emergente CQRS

Imagen
  **Patrón de diseño emergente: CQRS** CQRS significa **Command Query Responsibility Segregation**, o **Segregación de Responsabilidades de Comandos y Consultas**. Es un patrón de diseño arquitectónico que separa las operaciones de lectura y actualización de un sistema. **Problema que resuelve** El patrón CQRS resuelve el problema de que las operaciones de lectura y actualización de un sistema pueden tener requisitos muy diferentes. Por ejemplo, las operaciones de lectura suelen requerir una alta eficiencia, mientras que las operaciones de actualización suelen requerir consistencia. **Solución** El patrón CQRS proporciona la siguiente solución: * Separa las operaciones de lectura y actualización en dos subsistemas: el subsistema de comandos y el subsistema de consultas. * El subsistema de comandos se encarga de las operaciones de actualización, como crear, actualizar y eliminar datos. * El subsistema de consultas se encarga de las operaciones de lectura, como obtener, filtrar y agr...

Patron de diseño estructural "decorator"

Imagen
  **Patrón de diseño estructural: Decorador** El patrón de diseño Decorador es un patrón estructural que permite añadir responsabilidades adicionales a un objeto de forma dinámica. Esto se consigue envolviendo el objeto original en un objeto decorador que proporciona la funcionalidad adicional. **Problema que resuelve** El patrón Decorador resuelve el problema de añadir funcionalidades adicionales a un objeto de forma dinámica. Esto es útil en situaciones en las que: * No es posible o práctico modificar el código del objeto original. * Se desea añadir funcionalidades adicionales a un objeto sin tener que crear subclases. * Se desea añadir funcionalidades adicionales a un objeto de forma incremental. **Solución** El patrón Decorador proporciona la siguiente solución: * Define una interfaz para los objetos que pueden tener responsabilidades añadidas. * Define un objeto al cual se le pueden agregar responsabilidades adicionales. * Define una clase decoradora abstracta que proporciona ...

Modelo de datos y navegacion de una aplicacion de tareas

Imagen
Translator Translator Translator ...

Que es WebML?

Imagen
Translator   Translator WebML es una metodología de diseño web que se utiliza para crear aplicaciones web complejas que usan datos intensivamente. Es una notación visual que proporciona especificaciones gráficas formales para un proceso de diseño completo que puede ser asistido por herramientas de diseño visuales. WebML se basa en tres modelos principales: Modelo de datos: Des...

Sistemas Embebidos

Imagen
Translator   En la era digital actual, los sistemas embebidos son la columna vertebral de la tecnología que utilizamos todos los días, desde electrodomésticos hasta automóviles y dispositivos médicos. ¿Quieres conocer más sobre estos sistemas y su impacto en nuestra vida cotidiana? Sigue leyendo. **Desentrañando los Sistemas Embebidos** En esencia, un sistema embebido es una combinación de hardware y software diseñado para realizar tareas específicas sin la intervención humana. A diferencia de las computadoras personales, que generalmente ejecutan una amplia gama de aplicaciones, los sistemas embebidos tienen un propósito definido. **¿Dónde los Encontramos?** Estos sistemas están...

ARQUITECTURA CLIENTE-SERVIDOR

Imagen
Translator   En el mundo de la informática, la Arquitectura Cliente-Servidor es una de las estructuras fundamentales que ha permitido la comunicación y la interacción en línea durante décadas. ¿Quieres saber más sobre esta pieza clave de la tecnología? Sigue leyendo. **Entendiendo la Arquitectura Cliente-Servidor** En esencia, la Arquitectura Cliente-Servidor es un modelo de diseño en el que los roles de los dispositivos y sistemas están claramente definidos. Aquí hay un vistazo rápido a estos dos componentes: - **Cliente:** Este es el lado con el que los usuarios interactúan directamente. Puede ser una aplicación en tu dispositivo, como un navegador web o una aplicación móvil. ...

Arquitectura Monolitica

Imagen
 En los últimos tiempos, hemos escuchado muchas opiniones sobre cómo es conveniente diseñar nuestras aplicaciones, desde el punto de vista de su arquitectura en la ejecución.  Históricamente las aplicaciones eran monolíticas (una aplicación que se instalaba en una computadora y hacia todo lo que necesitaba) y en forma más recientes se esta optando por hacer aplicaciones distribuidas en varias computadoras, dividas en servicios independientes (algunos lo llaman microservicios). Voy a hacer una comparación sencilla de una arquitectura monolítica y una arquitectura de microservicios, viendo sus beneficios y sus desventajas.  Beneficios de una arquitectura monolítica Sencilla de desarrollar.  No hay que pensar demasiado donde desarrollo una nueva funcionalidad. Todo se programa en la misma KB. Sencilla de instalar.  Se instala todo junto en una misma instalación. Sencilla de escalar.  Si necesito mas potencia, puedo replicar una máquina...