最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python設(shè)計模式之命令模式原理與用法實例分析

 更新時間:2019年01月11日 09:40:39   作者:Andy冉明  
這篇文章主要介紹了Python設(shè)計模式之命令模式,結(jié)合具體實例形式分析了Python命令模式相關(guān)概念、原理、定義及使用方法,需要的朋友可以參考下

本文實例講述了Python設(shè)計模式之命令模式原理與用法。分享給大家供大家參考,具體如下:

命令模式(Command Pattern):將請求封裝成對象,從而使可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤消的操作.

下面是一個命令模式的demo:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大話設(shè)計模式
設(shè)計模式——命令模式
命令模式(Command Pattern):將請求封裝成對象,從而使可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤消的操作.
"""
# 命令類
class Command(object):
  def __init__(self, receiver):
    self.receiver = receiver
  def execute(self):
    pass
# 執(zhí)行接收者的操作
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()
# 具體執(zhí)行類
class Receiver(object):
  def action(self):
    print "執(zhí)行請求"
if __name__ == "__main__":
  r = Receiver() #創(chuàng)建需要執(zhí)行的命令
  c = ConcreteCommand(r) # 綁定要執(zhí)行的命令
  i = Invoker() # 創(chuàng)建命令執(zhí)行者
  i.setcommand(c) # 接受命令
  i.excutecommand() # 執(zhí)行命令

上面類的設(shè)計如下圖:

優(yōu)點:

可以較容易的設(shè)計一個命令隊列

可以較容易的將命令記入日志

允許接收請求的一方?jīng)Q定是否要否決請求

可以容易的實現(xiàn)對請求的撤銷和重做

加進新的具體命令類不影響其他的類,因此增加新的具體命令類很容易

命令模式最大的優(yōu)點是 把請求一個操作的對象與知道怎么執(zhí)行一個操作的對象分割開

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python?讀取?.gz?文件全過程

    Python?讀取?.gz?文件全過程

    這篇文章主要介紹了Python?讀取?.gz?文件全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • python運行或調(diào)用另一個py文件或參數(shù)方式

    python運行或調(diào)用另一個py文件或參數(shù)方式

    這篇文章主要介紹了python運行或調(diào)用另一個py文件或參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 深入解析NumPy中的Broadcasting廣播機制

    深入解析NumPy中的Broadcasting廣播機制

    在吳恩達老師的深度學(xué)習(xí)專項課程中,老師有提到NumPy中的廣播機制,同時那一周的測驗也有涉及到廣播機制的題目。那么,到底什么是NumPy中的廣播機制?本文就來介紹一下
    2021-05-05
  • Python中的對象,方法,類,實例,函數(shù)用法分析

    Python中的對象,方法,類,實例,函數(shù)用法分析

    這篇文章主要介紹了Python中的對象,方法,類,實例,函數(shù)用法,從面向?qū)ο蟮慕嵌确治隽藢ο?方法,類,實例,函數(shù)等的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Python中Playwright的常用操作方法分享

    Python中Playwright的常用操作方法分享

    本文詳細介紹了Playwright的常用操作方法,包括獲取頁面元素、點擊按鈕和鏈接等。這些方法可以幫助開發(fā)者更加高效地進行自動化測試和爬蟲開發(fā),需要的可以參考一下
    2023-05-05
  • 關(guān)于ZeroMQ 三種模式python3實現(xiàn)方式

    關(guān)于ZeroMQ 三種模式python3實現(xiàn)方式

    今天小編就為大家分享一篇關(guān)于ZeroMQ 三種模式python3實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python內(nèi)存優(yōu)化的七種技巧分享

    Python內(nèi)存優(yōu)化的七種技巧分享

    本文將重點介紹 Python 的內(nèi)置機制,并介紹 7 種原始但有效的內(nèi)存優(yōu)化技巧,掌握這些技巧將大大提高你的 Python 編程能力,文中通過代碼示例給大家講解的非常詳細,感興趣的小伙伴跟著小編一起來學(xué)習(xí)吧
    2024-02-02
  • python中apply函數(shù)詳情

    python中apply函數(shù)詳情

    這篇文章主要介紹了python中apply函數(shù)詳情,該函數(shù)最有用的是第一個參數(shù),這個參數(shù)是函數(shù),相當(dāng)于C/C++的函數(shù)指針,更多詳細內(nèi)容,需要的小伙伴可以參考下面文章內(nèi)容
    2022-01-01
  • Python開發(fā)桌面小程序功能

    Python開發(fā)桌面小程序功能

    這篇文章主要介紹了Python開發(fā)一個桌面小程序功能,開發(fā)環(huán)境界面設(shè)置,功能介紹結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Python制作豆瓣圖片的爬蟲

    Python制作豆瓣圖片的爬蟲

    本文給大家分享的是作者制作的爬取豆瓣首頁圖片的爬蟲代碼,代碼很簡單,大家可以參考下思路,希望可以幫到大家
    2017-12-12

最新評論

英吉沙县| 青浦区| 安溪县| 武邑县| 祁东县| 夏邑县| 瓮安县| 黄陵县| 万年县| 公安县| 南木林县| 曲阜市| 白沙| 邓州市| 方山县| 阿克苏市| 博乐市| 佛冈县| 三都| 修武县| 广安市| 思茅市| 六安市| 巴楚县| 嘉兴市| 磴口县| 嘉兴市| 东乡县| 邯郸市| 平阴县| 广元市| 元江| 航空| 越西县| 大田县| 阳高县| 威信县| 中西区| 顺义区| 甘德县| 宜州市|