tectijuana / pdd

Patrones de Diseno
GNU General Public License v3.0
24 stars 2 forks source link

2.4 OTROS PATRONES ... #9

Open IoTeacher opened 6 months ago

IoTeacher commented 6 months ago
Patrón Descripción Ejemplos
Publish-Subscribe Permite a los publicadores generar mensajes sin conocer a los suscriptores, y a los suscriptores recibir mensajes sin conocer a los publicadores. Un broker gestiona el envío de mensajes. RabbitMQ, Java Messaging Service (JMS)
Filter Crea una cadena de filtros donde los datos fluyen de un filtro al siguiente. Usado comúnmente para filtrar datos entre una fuente y un destino. Jakarta EE Filter y FilterChain, Spring Security Filter Chain
Model-View-Controller (MVC) Separa la lógica de negocio (Modelo), la presentación de los datos (Vista) y la gestión de eventos (Controlador). El controlador procesa los datos del modelo y selecciona la vista apropiada. Spring Web MVC, frameworks web
Thread Pool En lugar de crear hilos constantemente, se mantiene un grupo de hilos reutilizables. Los hilos liberados se devuelven al grupo y los nuevos hilos se obtienen del mismo. Java ThreadPoolExecutor
Reactor Define un servicio manejador que acepta múltiples solicitudes concurrentes y las despacha a manejadores de solicitudes, cada uno manejando una solicitud. Útil para manejar grandes cantidades de solicitudes concurrentes. Spring Reactive
IoTeacher commented 6 months ago
Patrón Descripción Ejemplos
Módulo Divide un programa en bloques funcionales reutilizables. Módulos de Node.js, librerías en Python.
Paso de Mensajes Permite la comunicación entre componentes de un sistema distribuido mediante el intercambio de mensajes. Sistemas de colas de mensajes como RabbitMQ, Apache Kafka.
Integración Empresarial Facilita la integración de aplicaciones y servicios. Patrones de datos transferidos (DTO), enrutamiento de mensajes en ESBs.
Gestión de Transacciones Gestiona transacciones en sistemas distribuidos. Transacciones compensatorias en sistemas de comercio electrónico.
Mensajería Gestiona el envío y recepción de mensajes. Publicación/Suscripción en sistemas de notificaciones.
Observación Facilita la monitorización y administración de sistemas distribuidos. Patrones de sonda para monitorizar sistemas en tiempo real.
Administración de Recursos Gestiona recursos en sistemas concurrentes. Agrupación de conexiones de bases de datos en un pool.
Planificación Gestiona la planificación de tareas y procesos. Planificadores de hilos en servidores web.
Tolerancia a Fallos Mejora la tolerancia a fallos de un sistema. Patrones de reinicio para recuperarse de fallos.
Caché Almacena datos en caché para mejorar el rendimiento. Caching aparte de datos frecuentemente accedidos.