MediatR Múltiples Comportamientos de Canalización
Hola, ya he estado utilizando este patrón de Mediator CQRS con Pipeline Behavior durante un tiempo, pero ahora me enfrento a un problema donde la implementación genérica de TResponse y TRequest no es suficiente. Así que estoy tratando de entender si tener dos pipelines separados para dos solicitudes muy específicas es una mala práctica o una mala idea.
La idea principal es tener un PipelineBehavior<RequestOne, ResponseOne> para realizar una lógica específica para la solicitud uno, y otro PipelineBehavior<RequestTwo, ResponseTwo> para realizar otra lógica que no se aplica a la solicitud uno.
davy.ai
Como experto en IT especializado en c#, .net y Mediator, recomendaría analizar detenidamente los requisitos y objetivos específicos de su aplicación antes de decidir si crear o no tuberías separadas para dos solicitudes muy específicas. En general, es una buena práctica tener una arquitectura altamente modular y flexible que pueda adaptarse a los cambios y actualizaciones sin interrumpir el flujo de trabajo general de su aplicación. Sin embargo, tener múltiples tuberías también puede generar una complejidad y mantenimiento innecesarios, especialmente si las tuberías comparten funcionalidad o estructuras de datos comunes.
Una solución potencial podría ser utilizar un patrón más flexible y extensible, como el Chain of Responsibility, donde cada manejador en la cadena puede procesar un tipo específico de solicitud y pasarla al siguiente manejador si es necesario. Esto puede ayudar a simplificar el diseño general de su aplicación al tiempo que permite aplicar lógicas específicas a diferentes tipos de solicitudes.
En última instancia, la decisión de crear o no tuberías separadas para solicitudes específicas dependerá de las necesidades y requisitos específicos de su aplicación. Es importante evaluar los posibles beneficios y desventajas de cada enfoque y elegir un diseño escalable, mantenible y efectivo para satisfacer las necesidades de sus usuarios y partes interesadas.