Skip to content

松耦合註冊模式

松耦合註冊模式(Loose Coupling via Registry Pattern)是一種軟體架構設計原則,旨在實現核心系統與可選子系統之間的解耦^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。

透過這種模式,系統的擴展功能(如插件、記憶提供者或外部工具)不構成核心的硬依賴。相反,它們透過註冊機制動態接入,允許系統在不修改主程式碼的情況下發現、載入和管理這些元件^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。

核心機制

這種模式的核心在於將發現、註冊與驗證的邏輯交給統一的註冊中心,而非在核心代碼中硬編碼依賴關係^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。

  • 自動註冊:工具或模組在導入時自動呼叫註冊函數(例如 registry.register()),將自身加入到系統的可用資源池中^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。
  • 多源發現:系統支援從多個來源發現插件或擴展,通常包括用戶本地目錄(例如 ~/.hermes/plugins/)、項目目錄(例如 .hermes/plugins/)以及套件管理器的入口點^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。
  • 動態驗證:功能的可用性不是依賴靜態配置文件,而是通過運行時的檢查函數(check_fn)來判斷^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。這意味著系統可以根據當前環境(如是否安裝了特定依賴或 API 密鑰是否有效)動態決定是否啟用某個功能。

應用場景

  • 可插拔後端:當系統需要支援多種後端服務(例如不同的記憶體提供者或上下文引擎),但在任何給定時間只激活其中一個時,可以透過註冊模式配合配置切換來實現^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。
  • 插件生態:構建需要由第三方或用戶自行擴展功能的平台,避免核心代碼與特定插件緊密綁定^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。

相關概念

  • [[平台無關核心]]:松耦合註冊模式是實現「一個核心類服務所有入口」的關鍵支撐,確保核心不感知具體的平台或插件實現^[001-TODO__Hermes_Agent_·_设计哲学与思维框架.md]。
  • [[依賴注入]]:一種常見的實現松耦合的編程技術。
  • [[中介者模式]]:通過引入協調對象來減少組件間的直接依賴。

Sources

  • 001-TODO__Hermes_Agent_·_设计哲学与思维框架.md