Unity 中的條件解析:探索策略模式
背景
背景條件解析允許您根據具體情況注入不同的實作類別。在給定的場景中,您希望根據身份驗證類型(例如 Twitter 或 Facebook)有條件地解析不同的身份驗證提供者。
解決方案:實現策略模式建議的方法是採用策略模式。此模式將身份驗證邏輯與控制器解耦,無需修改設計即可輕鬆新增或刪除身份驗證提供者。
IAuthenticateStrategy:定義登入策略的介面管理不同的驗證提供者。
此外,它們還包括AppliesTo方法,該方法指示提供者是否適用於給定的提供者名稱(例如,TwitterAuth 適用於「TwitterAuth」)。
Login 方法接受提供者名稱和使用者憑證並使用 AppliesTo 選擇適當的提供者。
Unity 註冊帶有包含IAuthenticate實例數組的注入建構函數的 IAuthenticateStrategy。
使用政策的 Login 方法以指定的提供者名稱執行登入操作。
備用選項:Unity 設定
或者,您可以直接在 unity.config 檔案中註冊類型,而不是使用 Unity 容器程式設計。
使用策略模式進行條件解析的好處以上是Unity 的條件解析和策略模式如何改善身分驗證提供者管理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!