Table of Contents
Responsibility 패턴의 체인은 핸들러의 체인을 따라 요청을 전달할 수있는 행동 디자인 패턴입니다. 이 패턴은 유연한 및 사용자 정의 데이터 검증 파이프라인을 만드는 데 특히 유용합니다. 여러 검증 단계가 추가 될 수 있으며 제거하거나 쉽게 재주문 할 수 있습니다.
책임 패턴의 사슬 이해
이 패턴 뒤에 주요 아이디어는 요청을 처리 할 수있는 기회가 더 많은 것을 제공함으로써 수신기의 요청의 발송자를 분리하는 것입니다. 객체는 체인에 연결되며, 각 하나는 요청을 처리하거나 따라 전달 여부를 결정합니다.
검증 파이프 라인 구현
검증 파이프라인을 구현하려면, 특정 유효성 검사 규칙에 대한 각 책임있는 일련의 검증자 클래스를 만듭니다. 이 검증자는 함께 연결되며, 해당 데이터 패스를 통해 체인을 형성합니다. 유효성 검사가 잘못된 데이터를 감지하면 프로세스를 중단하거나 오류를 처리 할 수 있습니다.
Validator 인터페이스 만들기
모든 검증자가 일관성을 보장하기 위해 일반적인 인터페이스를 정의합니다. 이 인터페이스는 다음 검증자와 데이터를 검증하는 방법을 포함해야합니다.
PHP의 예 :
interface Validator {
] public function setNext(Validator $validator): Validator;
공유 함수 validate($data): bool;
콘크리트 검증기 구현
각 콘크리트 검증자는 Validator 인터페이스를 구현합니다. 예를 들어, 데이터가 빈치지 않는 경우 검사용 검증기:
클래스 NotEmptyValidator 구현 ] {
private $nextValidator;
]
공개 설정다음(Validator $validator): Validator {
&nbLTLTLTLTLTLTLT;
;Bnbsp; 공개 함수;
;
;[Fsp;Bsp;Fsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;Bsp;B ღ♥ღ
유연한 검증 체인 구축
검증 파이프라인을 만들려면, 즉시 검증된 검증인 객체를 만들고 setNext 메소드를 사용하여 연결하십시오. 이 경우 특정 요구 사항에 따라 검증 단계의 동적 구성을 허용합니다.
예:
$notEmptyValidator = 새로운 NotEmptyValidator();
$emailValidator = 새로운 이메일발신기();]
$notEmptyValidator->setNext($emailValidator);
이 설정은 데이터가 먼저 비난을 위해 검사되고, 첫 번째 체크 패스가 전달되면 이메일으로 검증됩니다.
패턴 사용의 장점
- 가동 가능한 동적인 검증 파이프라인
- 추가, 제거, 또는 주문 유효성 검사 단계에 쉬운
- Data 처리에서 Decouple validation logic
- 코드 유지성 및 확장성 향상
Responsibility 패턴 체인을 구현함으로써 개발자는 다양한 응용 프로그램을 효율적으로 충족하는 견고한 데이터 검증 시스템을 만들 수 있습니다.