python版本的命令模式

Posted gjinwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python版本的命令模式相关的知识,希望对你有一定的参考价值。

# -*- coding:UTF-8 -*-

import abc


class Command(metaclass=abc.ABCMeta):

    def __init__(self, receiver):
        self._receiver = receiver

    @abc.abstractmethod
    def execute(self):
        pass


class ConcreteCommand(Command):
    def execute(self):
        self._receiver.action()


class Invoker:
    def __init__(self):
        self.__command = None

    def set_command(self, command):
        self.__command = command

    def execute_command(self):
        self.__command.execute()


class Receiver:
    def action(self):
        print("执行请求")


if __name__=="__main__":
    r = Receiver()
    c = ConcreteCommand(r)
    i = Invoker()
    i.set_command(c)
    i.execute_command()

 

以上是关于python版本的命令模式的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

scrapy主动退出爬虫的代码片段(python3)

python RegEx模式片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

scrapy按顺序启动多个爬虫代码片段(python3)