Skip to content
StackPractices

Patrones

Patrones de diseño y arquitectura de software explicados con ejemplos reales y ejecutables.

203 resultados

advanced

Patrón Agent Tool Selection

Selecciona dinamicamente que herramientas puede usar un agente LLM segun el contexto de la tarea. Reduce tokens y mejora la calidad de decisiones.

intermediate

Patrón Embedding Cache

Cachea embeddings LLM para reducir llamadas API y costo. Almacena embeddings con clave de hash de contenido y sirve desde cache en entradas repetidas.

intermediate

Patrón Human-in-the-Loop

Pausa la ejecucion del agente LLM para aprobacion humana antes de acciones de alto impacto. Enruta decisiones a un revisor cuando la confianza es baja.

intermediate

Patrón LLM Fallback

Recurre a proveedores o modelos LLM alternativos cuando el primario falla. Maneja rate limits, timeouts y errores con una cadena de proveedores.

intermediate

Patrón LLM Guardrails

Valida entradas y salidas LLM con reglas, clasificadores y filtros de contenido. Previene prompt injection, contenido toxico y fuga de datos antes de llegar al usuario.

intermediate

Patrón LLM Router

Enruta consultas a diferentes modelos LLM segun complejidad, costo y latencia. Clasifica la entrada antes de despachar al modelo adecuado.

intermediate

Patrón Prompt Chaining

Encadena multiples llamadas LLM donde la salida de cada paso alimenta la entrada del siguiente. Divide tareas complejas en prompts mas pequenos y verificables.

intermediate

Patrón RAG Hybrid Search

Combina busqueda por palabras clave (BM25) y semantica (vectores) para mejorar la precision de recuperacion en pipelines RAG. Fusiona resultados con reciprocal rank fusion.

intermediate

Patrón Ambassador: Offloadeá Cross-Cutting Concerns a un

Cómo offloadar cross-cutting concerns a un proxy ambassador. Cubre connection pooling, retry logic, circuit breaking, monitoring, y TLS termination para client services.

advanced

Patrón Anti-Corruption Layer

Cómo isolatar legacy systems con translation adapters. Cubre ACL facade, domain translation, bidirectional mapping, y gradual legacy replacement.

intermediate

Patrón Backends for Frontends

Cómo crear dedicated backends per client type. Cubre BFF para web, mobile, y desktop. Cubre API aggregation, client-specific optimization, y GraphQL BFF.

intermediate

Patron de Consolidacion de Recursos de Computo

Combina cargas de trabajo en menos recursos de computo para reducir costos, mejorar la utilizacion y simplificar operaciones.

intermediate

Patron de Almacen Externo de Configuracion

Centraliza la configuracion de aplicaciones fuera de los artefactos de despliegue para soportar actualizaciones en vivo y gestion multi-entorno.

intermediate

Patron de Enrutamiento de Gateway

Enruta solicitudes a multiples servicios backend a traves de un unico punto de entrada que gestiona preocupaciones transversales.

beginner

Patron de Monitoreo de Endpoints de Salud

Expone endpoints de salud ligeros para que orquestadores, balanceadores de carga y herramientas de monitoreo verifiquen la disponibilidad del servicio.

intermediate

Patron de Eleccion de Lider

Coordina una unica instancia activa entre multiples nodos distribuidos para evitar conflictos y escenarios de cerebro dividido.

intermediate

Patrón Modular Monolith: Deployable con Module Boundaries

Cómo construir un modular monolith con strict internal module boundaries. Cubre module isolation, shared kernel, inter-module communication, y migration a microservices.

advanced

Patrón Multi-Tenant Data Isolation

Aisla datos de tenants en infraestructura compartida usando row-level security, schema-per-tenant o database-per-tenant. Un patrón para aplicaciones SaaS.

intermediate

Patrón Pipes and Filters

Encadena pasos de procesamiento con filtros independientes conectados por pipes. Un patrón para pipelines de transformación de datos donde cada paso es reutilizable y componible.

intermediate

Patrón Sidecar: Extendé Services con Companion Containers

Cómo extendear services con companion containers para cross-cutting concerns. Cubre sidecar containers, shared volumes, health probes, y service mesh sidecars.

intermediate

Patrón Strangler Fig

Cómo reemplazar gradualmente un legacy system interceptando routes y routeando traffic a new services. Cubre strangler fig, incremental migration, y cutover.

advanced

Patrón Federated Identity

Delega la autenticación a proveedores de identidad externos. Un patrón para integrar OAuth2, OIDC, SAML y SSO entre múltiples servicios y organizaciones.

advanced

Patrón Voucher

Valida claims y delega acceso usando vouchers firmados sin exponer datos sensibles. Un patrón de seguridad para autorización basada en tokens entre servicios.

advanced

Patrón Batch-to-Streaming Bridge

Cómo bridgear batch y streaming pipelines con un data lake. Cubre Lambda architecture, Kafka Connect S3 sink, schema alignment, y unified serving layer.

advanced

Patrón CDC: Stream Database Changes a Downstream

Cómo streamear database changes a downstream consumers con CDC. Cubre log-based CDC, Debezium, Kafka Connect, outbox pattern, y consumer reconciliation.

advanced

Patrón Data Lineage Tracking

Cómo trackear data origin y transformations end-to-end. Cubre column-level lineage, OpenLineage, Marquez, metadata injection, y impact analysis.

intermediate

Patrón ETL Extract-Transform-Load

Cómo construir ETL pipelines con extract, transform, y load stages. Cubre staging tables, incremental extraction, idempotent loads, y orchestration.

intermediate

Patrón Idempotent Load

Cómo re-run data loads safely sin duplicates. Cubre deduplication keys, MERGE upserts, load IDs, partition overwrite, y transactional loads.

advanced

Patrón Schema Registry Evolution

Cómo manejar schema versions para streaming pipelines con un schema registry. Cubre Avro, backward compatibility, forward compatibility, y consumer migration.

intermediate

Abstract Factory para Familias de Componentes UI

Crea familias de objetos relacionados sin especificar clases concretas, habilitando implementaciones especificas de plataforma que comparten una interfaz comun

intermediate

Patrón Abstract Factory

Crea familias de objetos relacionados sin especificar sus clases concretas. Patrón de diseño creacional para familias de objetos consistentes.

beginner

Patrón Active Record

Envuelve una tabla o vista de base de datos en una clase donde una instancia está vinculada a una sola fila, y la clase provee métodos para operaciones CRUD directamente en el objeto.

advanced

Patrón Actor Model

Aislar estado en actores que se comunican solo via mensajes. Cada actor procesa un mensaje a la vez, eliminando bugs de concurrencia por estado compartido por diseno.

beginner

Adapter Pattern para Integrar APIs REST Externas

Usa el Adapter pattern para normalizar respuestas de APIs REST externas en un modelo interno consistente sin filtrar formatos de terceros en tu dominio

beginner

Patrón Adapter

Convierte la interfaz de una clase en otra interfaz que los clientes esperan. Patrón de diseño estructural para compatibilidad de interfaces.

advanced

Patrón Aggregate

Encapsula un cluster de objetos de dominio tratado como una unidad única para cambios de datos. Un Aggregate Root controla el acceso a sus entidades internas y value objects.

intermediate

Ambassador Pattern para Acceso Resiliente a Servicios

Agrega un ambassador local que maneja reintentos, circuit breaking y monitoreo al llamar servicios remotos, manteniendo el cliente simple y la logica de servicio pura

intermediate

Patrón Async Generator

Transmitir datos de forma perezosa con async generators. Producir valores uno a la vez conforme estan disponibles, habilitando procesamiento eficiente en memoria de secuencias grandes o infinitas.

intermediate

Patrón Back-Pressure

Previene que sistemas upstream abrumen a consumidores downstream propagando señales de control de flujo hacia atrás a través del pipeline, asegurando throughput estable bajo carga.

intermediate

Patrón Backend for Frontend (BFF)

Crea servicios backend dedicados adaptados a las necesidades específicas de cada tipo de frontend client, agregando APIs downstream y optimizando formas de datos por plataforma.

advanced

Patrón Blackboard

Un espacio de conocimiento compartido donde módulos especializados independientes colaboran para resolver problemas complejos contribuyendo soluciones parciales.

intermediate

Patrón Blue-Green Deployment

Mantener dos entornos identicos y cambiar trafico entre ellos. Desplegar al inactivo, testear, luego cambiar el router para release instantaneo o rollback.

intermediate

Bridge Pattern para Desacoplar Componentes UI de Temas

Separa una abstraccion de su implementacion para que ambas puedan variar independientemente usando el Bridge pattern para temas UI y motores de renderizado intercambiables

intermediate

Patrón Bridge

Desacopla una abstracción de su implementación para que ambas puedan variar independientemente. Un patrón estructural para independencia de plataforma.

beginner

Builder Pattern para Objetos de Configuracion Complejos

Usa el Builder pattern para construir objetos de configuracion complejos con parametros opcionales y valores por defecto sensatos sin constructores telescopicos

intermediate

Patrón Builder

Construye objetos complejos paso a paso. Patrón de diseño creacional para construcción de objetos legible y configurable.

intermediate

Patrón Business Delegate

Reduce el acoplamiento entre capas de presentación y negocio introduciendo un intermediario que maneja lookup, creación e invocación de servicios de negocio.

beginner

Patrón Cache-Aside

Carga datos en el caché bajo demanda desde el almacenamiento principal. Un patrón de caché que da a la aplicación control total sobre qué y cuándo cachear.

intermediate

Patron Cache Invalidation

Estrategias para mantener frescos los datos cacheados: expiracion TTL, invalidacion explicita, write-through y eviccion basada en eventos.

advanced

Patron Cache Stampede Prevention

Previene thundering herd de cache misses con locks, single-flight y refresco temprano para proteger la base de datos de recargas concurrentes.

intermediate

Patrón Canary Release

Rutear un porcentaje pequeno de trafico a la nueva version mientras el resto se queda en estable. Monitorear salud y aumentar gradualmente o revertir segun resultados.

intermediate

Chain of Responsibility para Middleware de Procesamiento

Pasa peticiones a lo largo de una cadena de handlers donde cada handler decide si procesa la peticion o la pasa al siguiente handler en la pipeline

intermediate

Patrón Chain of Responsibility

Pasa solicitudes a lo largo de una cadena de manejadores hasta que uno la procese. Un patrón de comportamiento para desacoplar emisores y receptores.

intermediate

Patrón Circuit Breaker

Previene fallos en cascada deteniendo solicitudes a servicios que están fallando. Un patrón arquitectural para sistemas distribuidos resilientes.

intermediate

Patrón Claim Check

Almacena payloads grandes en storage externo y pasa solo un token de referencia ligero a través del bus de mensajes, reduciendo carga del broker y previniendo que se excedan límites de tamaño de mensaje.

intermediate

Command Pattern con Undo/Redo en TypeScript

Implementa el Command pattern para encapsular peticiones como objetos, habilitando operaciones undo/redo, encolamiento de peticiones y logging de operaciones

intermediate

Patrón Command

Encapsula una petición como un objeto, permitiendo parametrizar clientes con colas, logs y operaciones deshacibles. Patrón de diseño conductual.

advanced

Patrón Compensating Transaction

Deshace los efectos de una transacción completada ejecutando una operación contraria, habilitando consistencia eventual en procesos de negocio de larga duración a través de servicios distribuidos.

intermediate

Patrón Composite Entity

Mapea una entidad coarse-grained a múltiples tablas de base de datos componiendo objetos dependientes, reduciendo la cantidad de llamadas remotas fine-grained en EJB y sistemas distribuidos.

intermediate

Composite Pattern para Arboles de Componentes UI en React

Usa el Composite pattern para componer objetos en estructuras de arbol, permitiendo que clientes traten objetos individuales y composiciones uniformemente en jerarquias de componentes

intermediate

Patrón Composite

Compone objetos en estructuras de árbol para representar jerarquías parte-todo. Un patrón estructural para tratar objetos individuales y composiciones uniformemente.

beginner

Patrón Content Delivery Network (CDN)

Distribuye contenido estático y en vivo a través de servidores edge geográficamente dispersos para reducir latencia, mejorar disponibilidad y descargar infraestructura de origen.

intermediate

Patrón Context Object

Encapsula estado y servicios necesitados por múltiples componentes en un único objeto de contexto, reduciendo el bloat de firmas de métodos y desacoplando código de detalles del entorno.

advanced

Patrón CQRS

Separa las operaciones de lectura y escritura en modelos diferentes, optimizando cada uno para su carga de trabajo específica. Un patrón de datos para sistemas escalables.

beginner

Patrón Data Access Object (DAO)

Abstrae y encapsula todo acceso a una fuente de datos exponiendo una interfaz limpia mientras oculta los detalles de persistencia de la lógica de negocio.

intermediate

Patrón Data Mapper

Separa objetos de dominio en memoria de la base de datos delegando la persistencia a una capa de mappers dedicada, manteniendo los modelos framework-agnostic.

intermediate

Patrón Database per Service

Asigna a cada microservicio su propia base de datos privada para asegurar loose coupling, deployment independiente y heterogeneidad tecnológica a través del portafolio de aplicaciones.

intermediate

Patrón Dead Letter Channel

Rutar mensajes no procesables a una cola de mensajes muertos separada para inspeccion y replay. Evitar que mensajes venenosos bloqueen la cola principal indefinidamente.

intermediate

Decorator Pattern para Pipelines de Peticiones HTTP

Usa el Decorator pattern para componer preocupaciones transversales como logging, metricas y reintentos en pipelines de peticiones HTTP sin modificar logica central

intermediate

Patrón Decorator

Añade nueva funcionalidad a objetos dinámicamente envolviéndolos. Patrón de diseño estructural para extensión flexible de comportamiento.

intermediate

Patrón Dependency Injection

Suministra dependencias desde fuera en lugar de crearlas internamente. Un patrón arquitectural para código desacoplado y testeable.

intermediate

Dependency Injection Container en TypeScript

Construye un DI container liviano que resuelve dependencias de clases automaticamente, habilitando aplicaciones testeables y debilmente acopladas sin frameworks pesados

intermediate

Patrón Deployment Ring

Desplegar cambios progresivamente en anillos de tamano creciente. Empezar con un grupo pequeno, verificar salud, luego expandir a anillos mas grandes antes del despliegue total.

intermediate

Patrón Distributed Lock

Coordina el acceso mutuamente exclusivo a recursos compartidos a través de nodos distribuidos usando un servicio de lock basado en consenso, previniendo race conditions en sistemas escalados.

intermediate

Patrón Domain Event

Captura y publica ocurrencias importantes dentro de un modelo de dominio para desacoplar efectos secundarios de la lógica de negocio central y habilitar workflows reactivos.

intermediate

Patrón Eager Loading

Carga datos relacionados en una única query en lugar de múltiples round-trips, previniendo el problema N+1 y mejorando el performance de lectura.

advanced

Patrón Entity-Component-System (ECS)

Compón entidades a partir de componentes de datos puros y procésalos con sistemas, habilitando arquitectura de objetos de juego flexible y de alto rendimiento sin herencia profunda.

intermediate

Patrón Event Bus

Desacopla componentes rutando eventos a través de un bus central. Un patrón behavioral para comunicación entre módulos con acoplamiento mínimo.

intermediate

Patrón Event-Carried State Transfer

Replica cambios de estado a través de servicios publicando eventos que llevan el estado completo actualizado de la entidad, permitiendo a los consumidores mantener sus propias copias locales sin consultar el origen.

advanced

Patrón Event Sourcing

Almacena el estado de una aplicación como una secuencia de eventos en lugar de almacenar solo el estado actual. Un patrón arquitectónico para sistemas auditables.

beginner

Patrón Facade

Provee una interfaz simplificada a un subsistema complejo. Un patrón estructural que oculta detalles de implementación detrás de una API limpia.

beginner

Factory Pattern

Crea objetos sin especificar la clase exacta a instanciar. Un patrón de diseño creacional para la creación flexible de objetos.

intermediate

Flyweight Pattern para Comparticion Eficiente de Objetos

Usa el Flyweight pattern para minimizar uso de memoria compartiendo la mayor cantidad de datos posible entre objetos similares, esencial para renderizar datasets grandes

intermediate

Patrón Flyweight

Comparte objetos para soportar eficientemente grandes cantidades de objetos de grano fino. Un patrón estructural para optimización de memoria.

intermediate

Patrón Front Controller

Enruta todas las peticiones entrantes a través de un único handler que despacha al comando de página apropiado, centralizando el procesamiento de requests y seguridad.

intermediate

Patrón Gatekeeper

Coloca un boundary de validación y seguridad en el edge del sistema para inspeccionar, sanitizar y autenticar todas las requests entrantes antes de que alcancen servicios internos.

advanced

Patrón Geode

Distribuir datos entre nodos con particionamiento para que cada nodo posea un shard. Escalado horizontal sin estado compartido, con localidad y aislamiento de fallos por particion.

intermediate

Patrón Graceful Degradation

Degradar funcionalidad en lugar de fallar cuando dependencias no estan disponibles. Servir resultados parciales, datos cacheados o features de fallback.

intermediate

Patron de Consumidor Idempotente

Procesa mensajes de una cola exactamente una vez sin importar los duplicados, usando operaciones idempotentes, identificadores unicos y estrategias de deduplicacion.

intermediate

Patrón Identity Map

Asegura que cada objeto sea cargado solo una vez por transacción cacheando instancias por su primary key, previniendo representaciones duplicadas en memoria del mismo row de base de datos.

intermediate

Patrón Inbox

Usa una tabla o cola dedicada de inbox para registrar eventos o requests entrantes, asegurando entrega confiable, deduplicación y procesamiento idempotente incluso cuando sistemas downstream fallan.

intermediate

Patrón Intercepting Filter

Compone cross-cutting concerns en una cadena de filtros pluggeables que interceptan requests y responses, habilitando lógica de preprocesamiento y postprocesamiento reusable.

advanced

Interpreter Pattern para Lenguajes de Expresion

Construye un interprete de lenguaje que evalua expresiones y reglas representando la gramatica como objetos componibles, util para formulas, queries y reglas de negocio

advanced

Patrón Interpreter

Define una representación para la gramática de un lenguaje junto con un intérprete que usa la representación para interpretar oraciones. Un patrón de diseño de comportamiento para mini-lenguajes.

intermediate

Iterator Pattern para Traversal de Colecciones Custom en

Provee una forma de acceder a elementos de un objeto agregado secuencialmente sin exponer su representacion subyacente usando el Iterator pattern

beginner

Patrón Iterator

Proporciona una forma de acceder a los elementos de una colección secuencialmente sin exponer su representación subyacente. Un patrón de comportamiento para recorrido.

advanced

Patrón Lock-Free Queue

Construir colas de alto throughput usando operaciones atomicas en lugar de locks. Multiples threads pueden encolar y desencolar concurrentemente sin bloqueo ni overhead de context-switch.

beginner

Patrón Manager

Encapsula el ciclo de vida, coordinación y control de acceso para un conjunto de objetos relacionados a través de una clase manager dedicada que centraliza operaciones y fuerza invariantes.

beginner

Patrón Marker Interface

Usa interfaces vacías como tags de metadata para señalar propiedades o capacidades en tiempo de compilación y runtime, habilitando verificaciones type-safe sin modificar comportamiento de clase.

intermediate

Patron de Vista Materializada

Precomputa y almacena resultados de consultas costosas en una cache optimizada para lectura para evitar agregaciones o joins repetidos sobre grandes datasets.

intermediate

Mediator Pattern para Desacoplamiento de Componentes en

Reduce dependencias caoticas entre componentes UI introduciendo un mediador que centraliza comunicacion, previniendo referencias explicitas entre pares

intermediate

Patrón Mediator

Define un objeto que encapsula cómo interactúa un conjunto de objetos. Un patrón de comportamiento para reducir dependencias caóticas.

intermediate

Memento Pattern para Snapshot y Restauracion de Estado

Captura y externaliza el estado interno de un objeto sin violar encapsulacion, habilitando undo, serializacion y rollback de estado en aplicaciones

intermediate

Patrón Memento

Captura y restaura el estado interno de un objeto sin violar el encapsulamiento. Un patrón de comportamiento para deshacer/rehacer.

intermediate

Patrón Message Deduplication

Prevenir procesamiento duplicado rastreando IDs de mensaje con claves de idempotencia. Los consumidores verifican un almacen antes de procesar para saltar mensajes ya manejados.

intermediate

Patrón Message Deferral

Retrasar el procesamiento de mensajes a un horario programado. Mover mensajes que no pueden procesarse ahora a una cola diferida o programarlos para entrega posterior.

intermediate

Patrón Message Queue Load Leveling

Suavizar picos de trafico colocando una cola entre el productor y el consumidor. El productor escribe mensajes a cualquier ritmo; el consumidor los procesa a un ritmo constante.

beginner

Patrón Mixin

Agrega comportamiento reutilizable a clases sin herencia componiendo métodos desde objetos compartidos en una clase destino.

intermediate

Patrón Model-View-Presenter (MVP)

Separa la lógica de presentación de la view introduciendo un presenter que media entre el model y una view pasiva, habilitando código UI testeable.

intermediate

Patrón Model-View-ViewModel (MVVM)

Vincula componentes UI declarativamente a un ViewModel que expone datos y comandos, habilitando sincronización automática entre view y estado.

beginner

Patrón Module

Encapsula estado y comportamiento privados dentro de una unidad auto-contenida con una API pública. Un patrón structural para organizar código en módulos reutilizables y seguros en scope.

intermediate

Patrón Multiton

Gestiona un mapa de instancias singleton nombradas, proporcionando acceso controlado a un conjunto finito de objetos compartidos identificados por claves.

beginner

MVC Pattern en Aplicaciones Frontend Modernas

Aplica el Model-View-Controller pattern en aplicaciones React y Vue para separar datos, UI y logica de interaccion en una arquitectura de componentes mantenible

intermediate

Patrón MVC

Separa la aplicación en componentes Modelo, Vista y Controlador. Patrón de diseño arquitectural para código organizado y mantenible.

beginner

Patrón Null Object

Usa un objeto por defecto en lugar de referencias null para eliminar verificaciones de null y simplificar el código cliente. Un patrón behavioral para defaults más seguros.

intermediate

Patrón Object Pool

Reutiliza objetos costosos en lugar de crearlos y destruirlos repetidamente. Un patrón creacional para gestionar recursos escasos eficientemente.

beginner

Patrón Observer

Define un mecanismo de suscripción para notificar a múltiples objetos sobre eventos. Patrón de diseño conductual para comunicación basada en eventos.

advanced

Patrón Outbox

Publica eventos de dominio de forma confiable persistiéndolos en una tabla outbox dentro de la misma transacción de base de datos que la operación de negocio.

beginner

Patrón Page Controller

Usa un objeto controlador dedicado para cada página lógica en una aplicación web, manejando el request y poblando la view para esa página específica.

beginner

Patrón Partial Class

Divide la definición de una única clase en múltiples archivos fuente para separar código auto-generado de código escrito a mano, o para organizar clases grandes por concern.

intermediate

Patrón Plugin

Habilita extensiones de terceros definiendo puntos de extensión en un sistema host que carga y ejecuta módulos externos en vivo.

intermediate

Patron de Cola de Prioridad

Procesa tareas basandose en prioridad en lugar de orden de llegada, asegurando que el trabajo de alta prioridad obtenga recursos antes que las tareas de menor prioridad.

intermediate

Patrón Producer-Consumer

Desacoplar produccion y consumo con una cola compartida. Los productores generan items a su propio ritmo; los consumidores los procesan independientemente a traves de un buffer.

intermediate

Prototype Pattern para Clonacion de Objetos y Plantillas

Crea nuevos objetos copiando existentes, permitiendo plantillas pre-configuradas y evitando explosion de subclases cuando la creacion de objetos es costosa

intermediate

Patrón Prototype

Crea nuevos objetos copiando los existentes. Un patrón de diseño creacional para clonación y duplicación de objetos.

intermediate

Proxy Pattern para Cacheo de Respuestas de API

Como implementar un proxy de cacheo que intercepta llamadas a APIs y almacena respuestas para reducir latencia y evitar peticiones redundantes

intermediate

Patrón Proxy

Proporciona un sustituto o marcador de posición para otro objeto para controlar el acceso a él. Un patrón estructural para control de acceso, carga perezosa y logging.

intermediate

Patrón Publish-Subscribe

Difundir eventos a multiples suscriptores independientes. Los publicadores envian mensajes a un topico sin saber que suscriptores existen, habilitando acoplamiento ligero entre productores y consumidores.

intermediate

Patron de Nivelacion de Carga Basada en Colas

Introduce una cola entre productores y consumidores de tareas para suavizar picos de trafico, desacoplar componentes y evitar que servicios aguas abajo sean abrumados.

advanced

Patrón Reactive Streams

Procesar streams de datos asincronos con backpressure. Los suscriptores piden N items a la vez, previniendo que productores rapidos saturen a consumidores lentos.

intermediate

Patron Read-Through Cache

Una capa de cache transparente que intercepta peticiones de lectura, obtiene del origen de datos en caso de miss y puebla el cache automaticamente.

advanced

Patron Refresh-Ahead Cache

Refresca proactivamente entradas de cache antes de que expiren para eliminar cache misses en hot keys y mantener latencia de lectura consistente.

intermediate

Patrón Registry

Centraliza el acceso a servicios y objetos compartidos vía una tabla de lookup. Un patrón structural que desacopla consumidores de implementaciones concretas.

intermediate

Repository Pattern con Generics de TypeScript

Implementa el Repository pattern con generics de TypeScript que desacopla logica de acceso a datos de servicios de dominio usando generics e interfaces

intermediate

Patrón Repository

Abstrae la lógica de acceso a datos detrás de una interfaz limpia. Patrón de diseño arquitectural para capas de datos testeables y mantenibles.

intermediate

Patrón Retry

Reintenta una operación que ha fallado con errores transitorios, usando estrategias configurables como delay fijo, backoff exponencial o integración con circuit breaker.

intermediate

Patrón Role

Asigna roles dinámicos a objetos en runtime en lugar de codificar comportamiento en jerarquías de clase, habilitando cambios flexibles de identidad sin bloat de herencia.

advanced

Patrón Saga

Gestiona transacciones distribuidas a través de múltiples servicios encadenando transacciones locales con acciones compensatorias para rollbacks. Un patrón de microservicios.

advanced

Patron de Programador-Agente-Supervisor

Coordina la programacion de trabajos resilientes separando la logica de programacion de los agentes de ejecucion y agregando un supervisor que monitorea, reinicia y gestiona el ciclo de vida.

intermediate

Patron de Convoy Secuencial

Preserva el orden de mensajes relacionados en un sistema distribuido agrupandolos en secuencias ordenadas y procesandolos uno a la vez a traves de un unico consumidor.

intermediate

Patrón Serverless DB Connection Pooling

Gestionar conexiones de base de datos entre invocaciones serverless usando poolers externos, reutilizacion de conexiones y clientes ligeros para evitar el agotamiento de conexiones.

advanced

Patron Serverless Event Sourcing

Almacena el estado de funciones como un log de eventos append-only para que los workflows puedan ser reproducidos, auditados y recuperados sin DB persistente.

intermediate

Patron Serverless Fanout

Difunde un solo evento a multiples consumidores independientes via SNS, EventBridge o SQS para que cada consumidor procese sin acoplamiento.

advanced

Patron Serverless Function Composition

Encadena funciones serverless via Step Functions u orquestadores para construir workflows multi-paso con reintentos, branching y gestion de estado.

advanced

Patron Serverless Throttling

Maneja backpressure en serverless usando SQS, token buckets y limites de concurrencia para proteger servicios downstream de trafico burst.

intermediate

Patron Serverless Warm Pool

Mantén las funciones Lambda calientes enviando pings periodicos para reducir la latencia de cold start en workloads sensibles a latencia.

advanced

Patron de Sharding

Divide un dataset grande en particiones mas pequenas distribuidas entre multiples servidores para mejorar crecimiento, rendimiento y disponibilidad.

intermediate

Patrón Shed Load

Rechazar requests proactivamente bajo carga extrema para proteger el sistema. Descartar trafico excesivo antes de que consuma recursos y cause fallos en cascada.

beginner

Patrón Singleton

Garantiza que una clase tenga una única instancia y proporciona un acceso global a ella. Patrón de diseño creacional para controlar la creación de objetos.

intermediate

Principios SOLID en TypeScript con Ejemplos Practicos

Aplica los cinco principios SOLID a codigo TypeScript para mejorar mantenibilidad, testeabilidad y reducir acoplamiento en disenos orientados a objetos

intermediate

Patrón Specification

Encapsula reglas de negocio para seleccionar objetos como objetos predicado reutilizables y componibles que pueden combinarse con operadores lógicos.

intermediate

Patrón State

Permite que un objeto altere su comportamiento cuando cambia su estado interno. Un patrón de comportamiento para máquinas de estados finitos.

beginner

Patron de Hosting de Contenido Estatico

Despliega archivos estaticos en una red de entrega de contenido o almacenamiento de objetos para descargar servidores de origen, reducir latencia y mejorar disponibilidad.

beginner

Patrón Strategy

Define una familia de algoritmos, encapsula cada uno y los hace intercambiables. Patrón de diseño conductual para selección flexible de comportamiento.

beginner

Patrón Template Method

Define el esqueleto de un algoritmo en una clase base, permitiendo que las subclases sobreescriban pasos específicos sin cambiar la estructura del algoritmo. Un patrón de diseño de comportamiento.

intermediate

Patrón Thread Pool

Reutilizar un conjunto fijo de threads para tareas cortas en lugar de crear un thread por tarea. Reduce overhead y limita el uso de recursos bajo carga.

intermediate

Patron de Throttling

Limita la tasa a la que un sistema procesa solicitudes o consume recursos para prevenir sobrecarga, asegurar uso justo y mantener rendimiento predecible.

beginner

Patrón Timeout

Previene que las operaciones se cuelguen indefinidamente imponiendo un tiempo máximo de ejecución. Un patrón de resiliencia para tiempos de respuesta predecibles.

intermediate

Patrón Twin

Provee una alternativa a la herencia múltiple vinculando dos clases separadas a través de referencias mutuas, permitiéndoles delegar métodos entre sí según sea necesario.

advanced

Patron Two-Level Cache

Combina un cache L1 en memoria con un cache L2 distribuido para reducir latencia de hot keys manteniendo consistencia entre instancias.

intermediate

Patrón Type Object

Define tipos de entidades de juego como datos en runtime en lugar de codificarlos como clases, permitiendo a los diseñadores crear nuevas variantes sin recompilar el código.

intermediate

Patrón Unit of Work

Trackea cambios a objetos en memoria durante una transacción de negocio y commitea todas las actualizaciones atómicamente a la base de datos, asegurando consistencia.

intermediate

Patrón Value Object

Modela conceptos de dominio por valor en lugar de identidad. Un objeto inmutable definido por sus atributos, no por un ID único.

advanced

Visitor Pattern para Operaciones Extensibles sobre

Separa algoritmos de los objetos sobre los que operan, permitiendo agregar nuevas operaciones sin modificar clases de elementos existentes

advanced

Patrón Visitor

Representa una operación a realizar sobre los elementos de una estructura de objetos sin cambiar las clases de los elementos. Un patrón de diseño de comportamiento.

advanced

Patron Write-Behind Cache

Escribe en cache sincronamente y persiste a la base de datos asincronamente para workloads de escritura de alto throughput con consistencia eventual.

intermediate

Patron Write-Through Cache

Escribe sincronamente en cache y backing store para que el cache siempre tenga los datos mas recientes sin invalidacion basada en TTL.

intermediate

Patrón Container-Presenter

Cómo separar data-fetching logic del rendering en React usando el container-presenter pattern. Cubre hooks migration, testing benefits, y trade-offs.

intermediate

Patrón CSS Architecture

Cómo organizar CSS con utility-first classes y component-scoped layers. Cubre Tailwind CSS, CSS layers, BEM, CSS modules, y design tokens.

intermediate

Custom Hook Composition

Cómo componer lógica reusable con custom React hooks. Cubre hook composition patterns, dependency arrays, context integration, y testing strategies.

advanced

Patrón Islands Architecture

Cómo shippear interactivity solo donde se necesita usando islands architecture. Cubre Astro islands, partial hydration, React islands, y performance benefits.

intermediate

Patrón Optimistic Update: UI Inmediata, Reconciliar

Cómo actualizar UI inmediatamente y reconciliar en server response en React. Cubre rollback on error, conflict resolution, y React Query integration.

intermediate

Patrón Progressive Enhancement

Cómo buildar un functional HTML baseline y progressivamente enhancar con JavaScript. Cubre core functionality, feature detection, graceful degradation, y accessibility.

advanced

Patrón State Machine UI: Finite State Machines

Cómo modelar UI state transitions con finite state machines en React. Cubre XState, statecharts, guarded transitions, y prevenir impossible states.

advanced

Patrón Suspense Boundary

Cómo usar React Suspense boundaries para declarative loading states. Cubre data fetching, streaming SSR, nested boundaries, y error boundaries.

intermediate

Patron de Resolver Batch en GraphQL

Resuelve campos anidados de GraphQL en una sola peticion batch para eliminar consultas N+1 y reducir la carga de la base de datos.

intermediate

Patron GraphQL Connection Pagination

Implementa paginacion basada en cursores estilo Relay con edges, nodes y pageInfo para queries de listas estables en GraphQL.

intermediate

Patron DataLoader en GraphQL

Consolida llamadas de carga individuales en llamadas batch con cache por peticion para prevenir queries N+1 y fetches redundantes.

intermediate

Patron de Extension de Errores en GraphQL

Adjunta metadatos estructurados a errores GraphQL usando codigos de extension para manejo de errores predecible del lado del cliente.

advanced

Patron GraphQL Federated Entity

Comparte tipos de entidad entre servicios GraphQL federados para que el gateway resuelva campos de multiples subgrafos de forma transparente.

advanced

Patron de Polimorfismo con Interfaces en GraphQL

Modela tipos polimorficos con interfaces GraphQL para compartir contratos de campos entre diferentes tipos de objeto manteniendo resolvers especificos.

intermediate

Patron GraphQL Mutation Validation

Centraliza la validacion de inputs para mutaciones GraphQL usando validadores personalizados, directivas de esquema y respuestas de error estructuradas.

advanced

Patron de Schema Stitching en GraphQL

Combina multiples esquemas GraphQL independientes en un unico esquema unificado que los clientes pueden consultar como un solo grafo.

advanced

Circuit Breaker con Monitoring

Cómo exponer circuit breaker state como metrics para observability. Cubre Prometheus integration, alerting rules, dashboards, y state transitions.

intermediate

Patrón Correlation ID

Cómo propagar correlation IDs a través de service boundaries para end-to-end request tracing. Cubre HTTP headers, message queues, e integración con logging.

advanced

Patrón Distributed Tracing

Cómo propagar trace context a través de service boundaries con OpenTelemetry. Cubre span creation, context propagation, sampling, y trace analysis.

intermediate

Patrón Health Check: Exponer Liveness y Readiness Probes

Cómo implementar liveness y readiness probes para container orchestration. Cubre Kubernetes probes, dependency checks, graceful degradation, y probe endpoints.

intermediate

Patrón Metrics Aggregation

Cómo collect, tag, y aggregate business metrics para observability. Cubre Prometheus, OpenTelemetry, custom metrics, histograms, y dashboarding.

intermediate

Patrón Structured Logging

Cómo emitir structured JSON logs con campos consistentes para searchability. Cubre Python structlog, Winston, Serilog, log levels, y log aggregation.

intermediate

Patrón Bulkhead: Isolá Resources para Limitar Blast Radius

Cómo isolatar resources per service para limitar blast radius. Cubre thread pool isolation, connection pool partitioning, semaphore-based bulkheads, y resource quotas.

advanced

Patrón Circuit Breaker Half-Open

Cómo testear service recovery con half-open circuit breaker state transitions. Cubre closed, open, half-open states, trial requests, y gradual recovery.

advanced

Patrón Fallover: Switcheá a Standby en Primary Failure

Cómo swithear a un standby system en primary failure detection. Cubre active-passive, active-active, health monitoring, DNS fallover, database replication, y automated promotion.

intermediate

Patrón Graceful Shutdown

Cómo drenear in-flight requests antes de process exit. Cubre signal handling, health check removal, connection draining, timeout enforcement, y cleanup hooks.

intermediate

Patrón Token Bucket Rate Limiter

Cómo implementar token bucket rate limiting para API protection. Cubre bucket refill, burst handling, per-key buckets, distributed rate limiting con Redis, y sliding windows.

intermediate

Patrón Retry with Jitter

Cómo retryar failed operations con exponential backoff y random jitter. Cubre full jitter, equal jitter, decorrelated jitter, retry budgets, e idempotency.

advanced

Patrón Contract Testing

Cómo usar contract testing para verificar que producers y consumers de API acuerdan en shapes de request y response. Cubre Pact consumer-driven contracts y provider verification.

beginner

Patrón Fixture Setup/Teardown

Cómo usar setup y teardown fixtures para crear contexto de test reutilizable. Cubre beforeEach, factory functions, fixture objects y cleanup con ejemplos.

advanced

Golden Master Testing

Cómo usar golden master testing para caracterizar comportamiento de legacy code antes de refactorizar. Cubre captura de output, comparación de baselines, e incremental refactoring.

intermediate

Patrón Mock Server: Mock Server para Aislamiento de

Cómo usar mock servers para aislar integration tests de dependencias externas. Cubre WireMock, nock, MSW, y Mountebank con ejemplos de configuración.

beginner

Patrón Parameterized Test

Cómo escribir parameterized tests para verificar la misma lógica across múltiples inputs. Cubre pytest parametrize, Jest test.each, JUnit ParameterizedTest y data providers.

intermediate

Patrón Snapshot Testing

Cómo usar snapshot testing para detectar cambios no intencionales en output serializado. Cubre Jest snapshots, pytest-snapshot, e inline vs external snapshots.

intermediate

Patrón Test Double: Reemplazar Dependencias con Stubs,

Cómo usar test doubles para aislar unidades bajo test. Cubre stubs, spies, fakes, mocks y dummy objects con ejemplos en Python, JavaScript y Java.

intermediate

Patrón Test Pyramid: Balancear Proporciones de Unit,

Cómo estructurar un test suite usando la test pyramid. Cubre proporciones de unit, integration y E2E tests, la testing trophy, y el anti-pattern ice cream cone.