일반적으로 사용되는 디자인 패턴 - 책임 체인 패턴 및 해당 PHP 구현

伊谢尔伦
풀어 주다: 2023-03-02 18:26:01
원래의
1190명이 탐색했습니다.

책임 사슬 모델은 일부 명령 개체와 일련의 처리 개체를 포함하는 행동 모델입니다. 각 핸들러 객체는 자신이 처리할 수 있는 명령 객체를 결정하며, 처리할 수 없는 명령 객체를 체인의 다음 핸들러 객체에 전달하는 방법도 알고 있습니다. 패턴은 또한 처리 체인의 끝에 새로운 처리 객체를 추가하는 방법을 설명합니다.

주요 역할

추상적 책임 역할: 모든 책임이 지원하는 공개 메소드를 정의합니다.

구체적 책임 역할: 추상적 책임 인터페이스로 구현된 구체적인 책임

책임 사슬 역할: 책임 호출 규칙 설정

클래스 그림

일반적으로 사용되는 디자인 패턴 - 책임 체인 패턴 및 해당 PHP 구현

<?php
abstract class Responsibility { // 抽象责任角色
    protected $next; // 下一个责任角色
 
    public function setNext(Responsibility $l) {
        $this->next = $l;
        return $this;
    }
    abstract public function operate(); // 操作方法
}
 
class ResponsibilityA extends Responsibility {
    public function __construct() {}
    public function operate(){
        if (false == is_null($this->next)) {
            $this->next->operate();
        }
    };
}
class ResponsibilityB extends Responsibility {
    public function __construct() {}
    public function operate(){
        if (false == is_null($this->next)) {
            $this->next->operate();
        }
    };
}
 
$res_a = new ResponsibilityA();
$res_b = new ResponsibilityB();
$res_a->setNext($res_b);
?>
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿