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

Python設(shè)計(jì)模式行為型責(zé)任鏈模式

 更新時(shí)間:2022年02月15日 11:11:44   作者:范桂颶  
這篇文章主要介紹了Python設(shè)計(jì)模式行為型責(zé)任鏈模式,責(zé)任鏈模式將能處理請(qǐng)求的對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理請(qǐng)求為止,避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系,下圍繞改內(nèi)容介紹具有一點(diǎn)的參考價(jià)值,需要的朋友可以參考下

一、責(zé)任鏈模式

責(zé)任鏈模式,將多個(gè)處理方法連接成一條鏈條,請(qǐng)求將在這條鏈條上流動(dòng)直到該鏈條中有一個(gè)節(jié)點(diǎn)可以處理該請(qǐng)求。通常這條鏈條是一個(gè)對(duì)象包含對(duì)另一個(gè)對(duì)象的引用而形成鏈條,每個(gè)節(jié)點(diǎn)有對(duì)請(qǐng)求的條件,當(dāng)不滿足條件將傳遞給下一個(gè)節(jié)點(diǎn)處理。

責(zé)任鏈模式有幾個(gè)要點(diǎn):

  • 一個(gè)對(duì)象中含有另一個(gè)對(duì)象的引用以此類推形成鏈條。
  • 每個(gè)對(duì)象中應(yīng)該有明確的責(zé)任劃分,即處理請(qǐng)求的條件。
  • 鏈條的最后一節(jié)應(yīng)該設(shè)計(jì)成通用請(qǐng)求處理,以免出現(xiàn)漏洞。
  • 請(qǐng)求應(yīng)該傳入鏈條的頭部

二、應(yīng)用場(chǎng)景

三、代碼示例

實(shí)體角色:

  • 抽象處理者(Handler)
  • 具體處理者(Concrete Handler)
  • 客戶端(Client)
import abc


# 抽象處理者
class Handler(metaclass=abc.ABCMeta):
? ? @abc.abstractmethod
? ? def handle(self, day):
? ? ? ? pass


# 具體處理者,作為鏈條節(jié)點(diǎn)之一。
class GeneralManager(Handler):
? ? def handle(self, day):
? ? ? ? if day <= 10:
? ? ? ? ? ? print(f"總經(jīng)理準(zhǔn)假{day}天")
? ? ? ? else:
? ? ? ? ? ? print("休假太長,不予準(zhǔn)假!")


# 具體處理者,作為鏈條節(jié)點(diǎn)之一。
class DivisionManager(Handler):
? ? def __init__(self):
? ? ? ? self.next = GeneralManager() ?# 鏈接到下一級(jí)

? ? def handle(self, day):
? ? ? ? if day <= 5:
? ? ? ? ? ? print(f"部門經(jīng)理準(zhǔn)假{day}天")
? ? ? ? else:
? ? ? ? ? ? print("部門經(jīng)理準(zhǔn)假職級(jí)不足")
? ? ? ? ? ? self.next.handle(day)


# 具體處理者,作為鏈條節(jié)點(diǎn)之一。
class ProjectManager(Handler):
? ? def __init__(self):
? ? ? ? self.next = DivisionManager() ?# 鏈接到下一級(jí)

? ? def handle(self, day):
? ? ? ? if day <= 3:
? ? ? ? ? ? print(f"項(xiàng)目經(jīng)理準(zhǔn)假{day}天")
? ? ? ? else:
? ? ? ? ? ? print("項(xiàng)目經(jīng)理準(zhǔn)假職級(jí)不足")
? ? ? ? ? ? self.next.handle(day)


if __name__ == "__main__":
? ? handler = ProjectManager()
? ? handler.handle(4)

到此這篇關(guān)于Python設(shè)計(jì)模式行為型責(zé)任鏈模式的文章就介紹到這了,更多相關(guān)Python責(zé)任鏈模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 找出list中最大或者最小幾個(gè)數(shù)的索引方法

    python 找出list中最大或者最小幾個(gè)數(shù)的索引方法

    今天小編就為大家分享一篇python 找出list中最大或者最小幾個(gè)數(shù)的索引方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python pip安裝如何切換國內(nèi)源

    Python pip安裝如何切換國內(nèi)源

    在Python開發(fā)中,pip是一個(gè)非常重要的工具,它允許我們安裝和管理Python包,本文將介紹如何切換pip的國內(nèi)源,并推薦幾個(gè)常用的國內(nèi)源,感興趣的朋友一起看看吧
    2024-04-04
  • python開發(fā)之函數(shù)定義實(shí)例分析

    python開發(fā)之函數(shù)定義實(shí)例分析

    這篇文章主要介紹了python開發(fā)之函數(shù)定義方法,以實(shí)例形式較為詳細(xì)的分析了Python中函數(shù)的定義與使用技巧,需要的朋友可以參考下
    2015-11-11
  • python批量提取word內(nèi)信息

    python批量提取word內(nèi)信息

    這里給大家分享的是php讀取word并提取word內(nèi)信息的方法,十分的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-08-08
  • Python OpenCV去除字母后面的雜線操作

    Python OpenCV去除字母后面的雜線操作

    這篇文章主要介紹了Python OpenCV去除字母后面的雜線操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 分享4個(gè)Python中的非常好用的自動(dòng)化腳本

    分享4個(gè)Python中的非常好用的自動(dòng)化腳本

    這篇文章為大家準(zhǔn)備了4個(gè)很棒的Python自動(dòng)化腳本,可以解決這些問題。文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-11-11
  • python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法詳解

    python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法詳解

    這篇文章主要介紹了python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法,結(jié)合具體實(shí)例形式詳細(xì)分析了Python對(duì)象列表遍歷、排序的兩種常見操作技巧,需要的朋友可以參考下
    2019-06-06
  • django authentication 登錄注冊(cè)的實(shí)現(xiàn)示例

    django authentication 登錄注冊(cè)的實(shí)現(xiàn)示例

    本文主要介紹了使用Django內(nèi)置的authentication功能實(shí)現(xiàn)用戶注冊(cè)和登錄功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Python安裝配置OpenGL環(huán)境的全過程記錄

    Python安裝配置OpenGL環(huán)境的全過程記錄

    這篇文章主要給大家介紹了關(guān)于Python安裝配置OpenGL環(huán)境的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python KeyError異常的原因及問題解決

    Python KeyError異常的原因及問題解決

    KeyError是Python內(nèi)置異常之一,KeyError是當(dāng)試圖獲取字典中不存在的鍵時(shí),引發(fā)的異常,本文就來介紹一下KeyError異常的原因及問題解決,感興趣的可以了解一下
    2024-12-12

最新評(píng)論

古浪县| 澄江县| 隆回县| 名山县| 嘉定区| 托里县| 鄱阳县| 卢湾区| 富民县| 海伦市| 罗田县| 嘉祥县| 囊谦县| 隆林| 中宁县| 布拖县| 成安县| 兴隆县| 凤庆县| 屏东县| 玉门市| 洛宁县| 手机| 雅江县| 明光市| 康乐县| 旺苍县| 保定市| 重庆市| 晴隆县| 忻城县| 安义县| 通江县| 库车县| 东港市| 泾阳县| 门源| 璧山县| 卢龙县| 新河县| 广元市|