Entradas

Imagen
¿ Qué es un patrón de diseño? Es una solución general y reutilizable para un problema común en el desarrollo de software. Sirve como una guía para resolver desafíos recurrentes, mejorando la calidad y la eficiencia del código. ¿Qué es el patrón de diseño decorator? Este permite agregar nueva funcionalidades a un objeto sin modificar su estructura original. Utiliza la composición en lugar de la herencia para lograr esto, lo que proporciona mayor flexibilidad y extensibilidad en el código. También es una técnica de programación que permite agregar nuevas funcionalidades a un objecto existente de forma dinámica. Características del patrón de diseño decorator Usos del patrón del diseño decorator Ventajas del uso del patrón de diseño decorator Ejemplos Conclusión El patrón de diseño decorator es una herramienta poderosa que permite agregar funcionalidades dinámicamente a objetos existentes. Su flexibilidad, reusabilidad y separación de responsabilidades lo convierten en una opción excelente
Imagen
Patrón de diseño CQRS   CQRS es un patrón de diseño de software que nos muestra cómo separar la lógica de nuestras aplicaciones para separar las lecturas de las escrituras. Y esto aplica tanto al código o la ejecución del programa como a la ubicación de los datos.  Las siglas CQRS vienen del inglés y significan “ Command query responsibility segregation ”; Lo que viene a significar separación en la responsabilidad de las lecturas y los comandos (escrituras/actualizaciones). El patrón CQRS es un patrón que no habíamos visto antes de la llegada de los microservicios  ya que lo más normal era tener un monolito que lo hacía todo, incluido el conectarse a una sola base de datos. Este diagrama muestra la estructura del modelo CQRS, mostrando la separación entre las operaciones de escritura y lectura, y como interactúan entre si. Implementar CQRS Cuando implementamos CQRS y tenemos las aplicaciones separadas no hay ningún motivo por el que debamos tener el mismo tipo de bases de datos, ¿es po
Imagen
 ADML ADML (Architecture Description Markup Language), es un lenguaje de marcado estándar basado en XML para describir arquitecturas de software y sistemas.  Como hubiera sido de esperarse ante la generalización del desarrollo en la era del Web, ADML constituye un intento de estandarizar la descripción de arquitecturas en base a XML. Está siendo promovido desde el año 2000 por The Open Group y fue desarrollado originalmente en MCC. The Open Group ha sido también promotor de The Open Group Architectural Framework (TOGAF). ADML constituye además un tronco del que depende una cantidad de especificaciones más puntuales. Mientras ADML todavía reposaba en DTD (Document Type Definition), una sintaxis de metadata que ahora se estima obsoleta, las especificaciones más nuevas implementan esquemas extensibles de XML.  ADML permite a los arquitectos crear arquitecturas más fácilmente, con mayor integridad y más rápido. Diagrama del uso de plantillas ADML Modelo de microservicios Los microservicios
Imagen
Tipos de arquitecturas Arquitectura Monolítica   Sistema en el cual todos los módulos relevantes se encuentran empaquetados en una única pieza, y un sistema en el cual todas las funcionalidades deben desplegarse juntas (Newman, 2019). La arquitectura monolítica es un enfoque de diseño de software en el cual una aplicación o sistema se construye como una sola entidad integral en la cual todos los elementos y funcionalidades están conectados y se ejecutan dentro de un único proceso o aplicación. Arquitectura de software en capas La programación por capas es una técnica de ingeniería de software propia de la programación por objetos, éstos se organizan principalmente en 3 capas: la capa de presentación o frontera, la capa de lógica de negocio o control, y la capa de datos. Siguiendo el modelo, el desarrollador se asegura avanzar en la programación del proyecto de una forma ordenada, lo cual beneficia en cuanto a reducción de costos por tiempo, debido a que se podrá avanzar de manera más s
¿Qué es la arquitectura de software? La arquitectura de software de un sistema representa las decisiones de diseño relacionadas con la estructura y el comportamiento global del sistema. La arquitectura ayuda a las partes interesadas a comprender y analizar cómo el sistema logrará cualidades esenciales como la modificabilidad, la disponibilidad  y la seguridad. Las arquitectura de software apoya el análisis de las cualidades del sistema cuando los equipos están tomando decisiones sobre le sistema y no después de la implementación, integración o despliegue. Tanto sise diseña un nuevo sistema como si se evoluciona un sistema que ya funciona o se moderniza un sistema heredado, este análisis oportuno permite a los equipos determinar si los enfoques elegidos darán lugar a una solución aceptable Software Engineering Institute (SEI) La arquitectura de software hace referencia a la estructura principal de organización de un sistema informático. Es la manera en que se estructuran, coordinan y co

Arquitectura de Software

 Se expondrán temas acerca de la arquitectura de software, el blog se retroalimentara con  la información vista durante el transcurso del cuatrimestre.