外掛程式
由 David Rice 和 Matt Foemmel 撰寫
在組態期間連結類別,而非編譯期間。
如需完整說明,請參閱 EAA 的 P 頁面 499
當應用程式程式碼在多個執行時期環境中執行時,通常會使用分離介面 (476),每個環境都需要特定行為的不同實作。大多數開發人員會透過撰寫工廠方法來提供正確的實作。假設您使用分離介面 (476) 定義您的主鍵產生器,以便您可以在單元測試中使用簡單的記憶體內部計數器,但在生產環境中使用資料庫管理的序列。您的工廠方法很可能會包含一個條件式陳述式,用於查看本機環境變數,判斷系統是否處於測試模式,並傳回正確的鍵產生器。一旦您有幾個工廠,您就會手忙腳亂。建立新的部署組態(例如「在沒有交易控制的情況下針對記憶體內部資料庫執行單元測試」或「在具有完整交易控制的情況下針對 DB2 資料庫執行生產模式」)需要編輯多個工廠中的條件式陳述式、重新建置和重新部署。組態不應散佈在您的應用程式中,也不應需要重新建置或重新部署。外掛程式透過提供集中式執行時期組態來解決這兩個問題。