Skip to content
StackPractices

Etiqueta: design-patterns

Explora 30 recursos prácticos de ingeniería de software etiquetados con "design-patterns". Descubre recetas de código, patrones de diseño, plantillas de documentación y guías detalladas para ayudarte a construir, desplegar y mantener soluciones listas para producción con design-patterns.

Puente entre Interfaces Incompatibles con el Adapter Pattern

Cómo integrar APIs legacy, librerías de terceros e interfaces incompatibles usando object adapters, class adapters y facade adapters en Java, TypeScript y Python.

Escalar Cargas de Lectura y Escritura con CQRS

Cómo separar modelos de lectura y escritura usando Command Query Responsibility Segregation para queries optimizadas, event sourcing, y escalado independiente de rutas de lectura y escritura.

Modelar Dominios de Negocio Complejos con Domain-Driven

Cómo estructurar código alrededor de conceptos de negocio usando bounded contexts, aggregates, entities, value objects y domain events para gestionar complejidad en aplicaciones grandes.

Crear Objetos Flexiblemente con el Factory Pattern

Cómo usar factory methods, abstract factories y containers de inyección de dependencias para desacoplar creación de objetos de su uso y mejorar testeabilidad.

Construir Aplicaciones Mantenibles con Arquitectura

Cómo estructurar aplicaciones usando ports y adapters para aislar lógica de negocio de frameworks, bases de datos y servicios externos para testabilidad y flexibilidad.

Implementar Sistemas Reactivos con el Observer Pattern

Cómo construir sistemas event-driven y reactivos usando el observer pattern con pub/sub, event emitters y reactive streams en JavaScript, Java y Python.

Asegurar una Única Instancia con el Singleton Pattern

Cómo garantizar exactamente una instancia de una clase en una aplicación usando inicialización perezosa, creación thread-safe y singletons basados en registro.

Intercambiar Algoritmos en Runtime con el Strategy Pattern

Cómo encapsular algoritmos y comportamientos intercambiables usando el strategy pattern con inyección de dependencias, function pointers y lambda strategies en Java, TypeScript y Python.

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

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

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

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

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

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

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

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

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

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

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

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

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

Mediator Pattern para Desacoplamiento de Componentes en

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

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

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

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

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

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

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

Plantilla de User Story y Criterios de Aceptación

Plantilla de user story que conecta necesidades de usuarios con implementación mediante criterios de aceptación claros, definición de done y principios INVEST.

Guía Práctica de Design Patterns

Guía para seleccionar y aplicar el design pattern correcto para problemas comunes de ingeniería de software.