91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Python 中的責任鏈設計模式

發布時間:2020-11-03 17:02:59 來源:億速云 閱讀:186 作者:Leah 欄目:開發技術

詳解Python 中的責任鏈設計模式?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

定義:

使多個對象都有機會處理請求,從而避免請求的發送者和接受者之間的耦合關系。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求直到有一個對象處理它為止

使用場景:

有多個對象可以處理一個請求,哪個對象處理由時間運行時決定。在不明確接受者的情況下,向多個對象中的一個提交一個請求

優點:

降低耦合度:一個對象無需知道是其他哪一個對象處理其請求

代碼例子:

"""
責任鏈模式
"""
from abc import abstractmethod, ABCMeta


class Handler(metaclass=ABCMeta):
  @abstractmethod
  def handler_leave(self, day):
    pass


# 總經理審批
class GenaralHandler(Handler):
  def handler_leave(self, day):
    if day <= 10:
      print('總經理批準你%s天假,好好去玩吧' % day)
    else:
      print('你干脆辭職了吧')


# 部門經理審批
class DepartmentHandler(Handler):
  def __init__(self):
    self.upHandler = GenaralHandler()

  def handler_leave(self, day):
    if day <= 7:
      print('部門經理批準你%s天假,好好去玩吧' % day)
    else:
      print('你請假超過七天,我無權受理,你去找總經理吧')
      self.upHandler.handler_leave(day)


# 項目主管審批
class ProjectHandler(Handler):
  def __init__(self):
    self.upHandler = DepartmentHandler()

  def handler_leave(self, day):
    if day <= 3:
      print('項目主管批準你%s天假,好好去玩吧' % day)
    else:
      print('你請假超過三天,我無權受理,你去找部門經理審批吧')
      self.upHandler.handler_leave(day)


if __name__ == '__main__':
  h = ProjectHandler();
  h.handler_leave(5)

輸出結果:

你請假超過三天,我無權受理,你去找部門經理審批吧

部門經理批準你5天假,好好去玩吧

看完上述內容,你們掌握詳解Python 中的責任鏈設計模式的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张掖市| 常宁市| 绥中县| 辰溪县| 米脂县| 工布江达县| 临朐县| 开江县| 自贡市| 霞浦县| 临沧市| 镇江市| 古浪县| 额尔古纳市| 合阳县| 塘沽区| 溆浦县| 陕西省| 台北市| 肃北| 苍南县| 囊谦县| 兴城市| 胶南市| 商水县| 阜平县| 昌江| 奉新县| 库车县| 韶山市| 米脂县| 阳西县| 通城县| 丁青县| 奉贤区| 正定县| 文山县| 尚志市| 和田市| 扬州市| 聂拉木县|