기술나눔

디자인 패턴 탐구: 책임 사슬 패턴

2024-07-11

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

1. 책임 사슬 모델은 무엇입니까?

책임 사슬 모델 (책임 사슬 패턴)은 행동 디자인 패턴입니다. 정의는 다음과 같습니다:

  • 요청의 송신자와 수신자를 결합하는 것을 피하고 여러 개체에 요청을 처리할 수 있는 기회를 제공하십시오.
  • 요청을 받는 개체를 체인에 연결하고 개체가 처리할 수 있을 때까지 이 체인을 따라 요청을 전달합니다.
    여기에 이미지 설명을 삽입하세요.

2. 책임 사슬 모델의 역할

  • 요청과 요청 처리를 분리하여 코드 확장성을 개선합니다.

3. 책임 사슬 모델의 구조

여기에 이미지 설명을 삽입하세요.

책임 사슬 모델에는 주로 다음과 같은 역할이 포함됩니다.

  • 추상 핸들러 역할: 추상 처리 방법 및 후속 연결을 포함하여 요청 처리를 위한 인터페이스를 정의합니다(체인의 각 핸들러에는 다음 핸들러에 대한 참조를 저장하는 멤버 변수가 있습니다).
  • 콘크리트 핸들러 역할: 요청을 처리할 수 있는지 여부를 결정하기 위해 추상 프로세서의 처리 방법을 구현합니다. 요청을 처리할 수 있으면 요청을 처리하고, 그렇지 않으면 요청이 후속자에게 전송됩니다.
  • 클라이언트 역할: 처리 체인을 생성하고 체인의 선두에 있는 특정 핸들러 객체에 요청을 제출합니다. 처리 세부 사항 및 요청 전달 프로세스는 신경 쓰지 않습니다.

실제 개발에서 책임 체인 모델은 특정 프로세서를 관리하기 위해 책임 체인 관리자를 추가할 수 있습니다.

4. 실제 개발에 책임 사슬 모델 적용

SpringBoot에는 책임 체인 패턴을 연습하는 방법이 많이 있습니다. 다음은 주문 프로세스에 대한 다중 독립적 검사 논리입니다.
여기에 이미지 설명을 삽입하세요.

4.1 구현 방법 1
  1. 포조 생성, 주문 대상
public class OrderContext {
    private String seqId;
    private String userId;
    private Long skuId;
    private Integer amount;
    private String userAddressId;
    // Getters and setters
}