Python 디자인 모델 의 직책 체인 모델 원리 와 용법 사례 분석
직책 체인 모드(Chain Of Responsibility):여러 대상 이 요 구 를 처리 할 수 있 도록 하여 발송 자 와 수신 자의 결합 관 계 를 피한다.대상 을 체인 으로 연결 하고 이 체인 을 따라 처리 할 때 까지 요청 을 전달 합 니 다.
다음은 디자인 모델 의 demo 입 니 다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
――
(Chain Of Responsibility): , 。
( )
"""
#
class Handle(object):
def __init__(self):
self.successor = ''
def setsuccessor(self, successor):
self.successor = successor
def handle_request(self,request):
pass
# 1
class ConcreteHandle1(Handle):
def handle_request(self,request):
if request>0 and request<=10:
print "ConcreteHandle1 ",request
else:
self.successor.handle_request(request)
# 2
class ConcreteHandle2(Handle):
def handle_request(self,request):
if request>10 and request<=20:
print "ConcreteHandle2 ",request
else:
self.successor.handle_request(request)
if __name__=="__main__":
c1 = ConcreteHandle1()
c2 = ConcreteHandle2()
c1.setsuccessor(c2)
for i in range(6,15,2):
c1.handle_request(i)
실행 결과:상류의 디자인 은 다음 과 같다.
수신 자 와 발송 자 는 상대방 의 명확 한 정보 가 없고 체인 중의 대상 은 체인 의 구 조 를 모 릅 니 다.직책 체인 은 대상 의 상호 연결 을 간소화 할 수 있 습 니 다.그들 은 후계 자 를 가리 키 는 인용 만 유지 해 야 합 니 다.그의 모든 후보 수신 자의 인용 을 유지 하지 않 아 도 됩 니 다.결합 도 를 크게 낮 추고 요청 한 구 조 를 수시로 증가 하거나 수정 할 수 있 습 니 다.
그러나 직책 체인 을 따라 말단 에 도착 하 라 는 요청 이 올 바른 설정 이 없어 처리 되 지 않 는 상황 을 조심해 야 한다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.