Python 디자인 모델 의 명령 모델 원리 와 용법 사례 분석
명령 모드(command Pattern):요청 을 대상 으로 밀봉 하여 서로 다른 요청 으로 고객 을 매개 변수 화 할 수 있 습 니 다.요청 대기 열 이나 요청 로 그 를 기록 하고 취소 가능 한 동작 을 지원 합 니 다.
다음은 명령 모드 의 demo 입 니 다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
――
(Command Pattern): , ; , .
"""
#
class Command(object):
def __init__(self, receiver):
self.receiver = receiver
def execute(self):
pass
#
class ConcreteCommand(Command):
def execute(self):
self.receiver.action()
#
class Invoker(object):
def __init__(self):
self.command = ''
def setcommand(self,command):
self.command = command
def excutecommand(self):
self.command.execute()
#
class Receiver(object):
def action(self):
print " "
if __name__ == "__main__":
r = Receiver() #
c = ConcreteCommand(r) #
i = Invoker() #
i.setcommand(c) #
i.excutecommand() #
상류의 디자인 은 다음 과 같다.장점:
명령 대기 열 을 쉽게 설계 할 수 있 습 니 다.
명령 을 로그 에 쉽게 기록 할 수 있 습 니 다.
요청 을 받 아들 일 수 있 는 쪽 에서 요청 을 거부 할 지 여 부 를 결정 합 니 다.
요청 에 대한 취소 와 재 작업 을 쉽게 실현 할 수 있 습 니 다.
새로운 구체 적 인 명령 류 를 추가 하 는 것 은 다른 클래스 에 영향 을 주지 않 기 때문에 새로운 구체 적 인 명령 류 를 추가 하 는 것 은 쉽다.
명령 모드 의 가장 큰 장점 은 작업 을 요청 한 대상 과 작업 을 어떻게 수행 하 는 지 아 는 대상 을 분리 하 는 것 이다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.