Compartir tecnología

Exploración de patrones de diseño: patrón de cadena de responsabilidad

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. ¿Qué es el modelo de cadena de responsabilidad?

modelo de cadena de responsabilidad (Patrón de cadena de responsabilidad) es un patrón de diseño de comportamiento. La definición es la siguiente:

  • Evite acoplar el remitente y el receptor de una solicitud y brinde a varios objetos la oportunidad de manejar la solicitud.
  • Conecte los objetos que reciben la solicitud en una cadena y pase la solicitud a lo largo de esta cadena hasta que un objeto pueda manejarla.
    Insertar descripción de la imagen aquí

2. El papel del modelo de cadena de responsabilidad

  • Desacople las solicitudes y el procesamiento de solicitudes para mejorar la escalabilidad del código.

3. Estructura del modelo de cadena de responsabilidad

Insertar descripción de la imagen aquí

El modelo de cadena de responsabilidad incluye principalmente los siguientes roles:

  • Rol del controlador abstracto: Defina una interfaz para procesar solicitudes, incluidos métodos de procesamiento abstractos y una conexión posterior (cada controlador en la cadena tiene una variable miembro para guardar una referencia al siguiente controlador).
  • Rol de manipulador de hormigón: Implemente el método de procesamiento del procesador abstracto para determinar si la solicitud se puede procesar. Si la solicitud se puede procesar, procese; de ​​lo contrario, la solicitud se transferirá a su sucesor.
  • Rol del cliente: cree una cadena de procesamiento y envíe una solicitud al objeto controlador específico al principio de la cadena. No le importan los detalles del procesamiento ni el proceso de entrega de la solicitud.

En el desarrollo real, el modelo de cadena de responsabilidad puede agregar un administrador de cadena de responsabilidad para administrar procesadores específicos.

4. Aplicación del modelo de cadena de responsabilidad en el desarrollo real.

En SpringBoot, hay muchas formas de practicar el patrón de cadena de responsabilidad. El siguiente es un ejemplo: lógica de verificación independiente múltiple para un proceso de pedido.
Insertar descripción de la imagen aquí

4.1 Método de implementación 1
  1. Crear Pojo, ordenar objeto
public class OrderContext {
    private String seqId;
    private String userId;
    private Long skuId;
    private Integer amount;
    private String userAddressId;
    // Getters and setters
}