1. 程式人生 > >責任鏈模式(Chain of Responsibility)

責任鏈模式(Chain of Responsibility)

分享圖片 right chain 抽象 ima mage ons src 分享

  • 定義:為一個請求定義含有鏈狀關系的接受對象,基於請求的類型,松耦合發送者和接受者之間的關系。
  • 實現方式:
    • 首先定義一個抽象類,包括一個公共抽象行為和決定子類鏈狀關系的屬性,然後創建一系列對象繼承這個抽象類,
    • 然後創建責任鏈關系(可線形結構、環形結構或樹狀結構)方法並返回頂級責任鏈類;

技術分享圖片

  • JDK實例:java.util.logging.Logger#log();javax.servlet.Filter#doFilter();
  • 項目實例:PR分級審批;
  • 優點:將職責分類隔離處理,降低耦合,符合開閉原則,不需修改原有代碼,新增一個責任類即可;
  • 缺點:鏈結構遍歷,性能有影響;

責任鏈模式(Chain of Responsibility)