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()

原文地址:https://www.cnblogs.com/gjinwei/p/8351116.html

时间: 2024-11-19 01:04:28

python版本的命令模式的相关文章

python版本的备忘录模式

# -*- coding:UTF-8 -*- class Originator: def __init__(self): self.__state = None @property def state(self): return self.__state @state.setter def state(self, value): self.__state = value def create_memento(self): return Memento(self.__state) def set_

python版本的策略模式

# -*- coding:UTF-8 -*- import abc class Strategy(metaclass=abc.ABCMeta): @abc.abstractmethod def algorithm_interface(self): pass class ConcreteStrategyA(Strategy): def algorithm_interface(self): print('算法A实现') class ConcreteStrategyB(Strategy): def a

CentOS7 下升级Python版本

来博客园的第一篇博客,以后要坚持养成记录.分享的习惯啊,这样生活才会有痕迹~ 服务器版本:CentOS 7.3 64位 旧Python版本:2.7.5 新Python版本:3.8.0 说明:本次配置使用root用户进行操作,故在代码中未使用sudo语句,请使用非root用户留意 1.切换工作目录至/usr/local 在Linux系统下,路径/usr/local相当于C:/Progrem Files/,通常安装软件时便安装到此目录下. 执行命令: cd /usr/local 2.下载目标pyth

windows安装使用python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 3.多版本的切换三种方法: 1)修改C:\Python27;C:\Python33内python.exe为python2.7.exe.python3.3.exe,即可区别开来 2)path路径中去除不用的,保留要用的 3)切换到想使用版本的python.exe目录下使用python解释器 4.下载好

如何在命令行下设置默认的Python版本?(已解决)

2018年7月3日 北京实时天气:热,比前几天好点,扇着风扇很舒服. 研究Python多版本共存问题:Windows7 64位系统,同时安装了Python2.7及Python3.5,如何在命令行下设置默认的版本? This is a big problem. 今天找到了办法: 可以通过设置环境变量的办法解决,哪一个设置在前面,哪一个版本就是命令行下的默认版本. 很神奇,是不是?[中国赞] 原文地址:http://blog.51cto.com/shbiao05/2135798

在CentOS 7.2下安装Hyperledger fabric 1.0.0 preview版本的solo模式

在CentOS 7.2下安装Hyperledger fabric 1.0.0 preview版本的solo模式 一. 安装centos和docker 等组件 A. 安装centos x86-64 Minimal(IP:192.168.2.10) 内核版本需要3.10 以上.centos 7 完全支持. 查看内核信息 $ uname -a Linux localhost.localdomain 3.10.0-514.6.1.el7.x86_64 B. 安装docker, 版本1.12.5(略过)

【游戏设计模式】之二 实现撤消重做、回放系统的神器:命令模式

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/52663057 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 这篇文章将与大家一起探索游戏开发中命令模式的用法. 命令模式的成名应用是实现诸如撤消,重做,回放,时间倒流之类的功能.如果你想知道<Dota2>中的观战系统.<魔兽争霸3>中的录像系统.<守望先锋>

Mac下切换Python版本

Mac下有多个版本的Python时,需要进行版本切换.我使用的是anaconda,在终端下进行包安装时,默认Python版本是MacOS自带的Python,需要进行手动的版本切换. # 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc # 更新bashrc以立即生效 source ~/.bashrc 以我主机为例,切

更新centos系统的python版本

因今天安装一程序需要用到python高版本,所以升级来系统自带的python. 先查询下系统的python版本是多少. #python -V 显示出来的是2.4.3,太老了,现在升级到比较稳定的版本3.3.0,大家想升级到最新版本可以参考官方网站(https://www.python.org/downloads/). 温馨提示:更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令.软件包都要依赖预装的老版本python的,比如yum. 现在就开始升级操作,在此之前为了防止