파이썬 노트:명령 모드
명령 모드의 Command 대상(즉 모든 명령, 또는 명령 대상)은 특정한 조작을 완성하거나 이벤트를 촉발할 때 필요한 모든 정보를 봉인하는 데 사용된다. 이 조작을 완성해야 하는 대상, 이 대상의 방법과 이 방법에 필요한 매개 변수, 즉 Command 대상에서 특정한 조작에 필요한 모든 정보를 봉인하고 사용할 때 대응하는excute 방법을 호출하면 된다."이 명령"의 실행을 나타냅니다.일반적으로 우리는 한 개의 명령만 사용하기 때문에 여러 개의 Command 대상을 만들고 여러 개의 다른 조작을 대표하는 명령을 만들 수 있습니다.
명령 모드 역할은 다음과 같습니다.
4
4
4
명령 모드 핵심 사상:
4
4
4
4
명령 모드의 이점:
4
4
4
4
명령 모드의 단점:
4
4
간단한 예:
from abc import ABCMeta, abstractmethod
class Receiver:
"""Receiver: """
def action1(self):
print('Execute action1...')
def action2(self):
print('Execute action2...')
class Command(metaclass=ABCMeta):
""" : """
@abstractmethod
def execute(self):
pass
class Action1(Command):
""" 1: action1"""
def __init__(self, receiver):
self.receiver = receiver
def execute(self):
self.receiver.action1()
class Action2(Command):
""" 2: action2"""
def __init__(self, receiver):
self.receiver = receiver
def execute(self):
self.receiver.action2()
class Invoker:
""" , """
def __init__(self):
self.actions = []
def append_action(self, action):
self.actions.append(action)
def execute_actions(self):
for action in self.actions:
action.execute()
if __name__ == '__main__':
receiver = Receiver()
action1 = Action1(receiver)
action2 = Action2(receiver)
invoker = Invoker()
invoker.append_action(action1)
invoker.append_action(action2)
invoker.execute_actions()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.