Python 디자인 모델 의 직책 체인 모델 원리 와 용법 사례 분석

본 논문 의 사례 는 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기