本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
分支, 所作, 抽象, 模式
當您可以攔截整體周邊的呼叫時,絞殺程序無花果模式效果很好。不過,如果您想要將舊版應用程式堆疊中較深層次存在的元件進行現代化,並且具有上游相依性,我們建議您使用抽象模式來進行分支。此模式可讓您變更現有程式碼基底,讓現代化版本與舊版本一起安全地共存,而不會造成中斷。
要通過抽象模式成功使用分支,請按照以下過程進行操作:
-
識別具有上游依賴關係的整體組件。
-
創建一個抽象層,代表要現代化的代碼與其客戶之間的交互。
-
當抽象到位時,將現有客戶端更改為使用新的抽象。
-
使用整體之外的重新設計功能創建抽象的新實現。
-
準備好後,將抽象切換到新的實現。
-
當新實現為用戶提供所有必要的功能,並且整體不再使用時,請清理較舊的實現。
抽象模式的分支通常與功能切換
下表解釋了通過抽象模式使用分支的優點和缺點。
優點 | 缺點 |
---|---|
|
|
下圖顯示了通過抽象模式在保險整體通知組件的分支。它通過創建通知功能的抽象或接口開始。以小的增量,現有的客戶端被更改為使用新的抽象。這可能需要在代碼庫中搜索與通知組件相關的 API 的調用。您可以將通知功能的新實作建立為整體式外部的微服務,並將其裝載在現代化架構中。在您的整體式中,您新創建的抽象界面充當經紀人並調用新的實現。以小的增量,您可以將通知功能移植到新的實現中,該實現將保持非活動狀態,直到完全測試並準備就緒為止。當新實現準備就緒時,您可以切換抽象以使用它。您希望使用可以輕鬆翻轉的切換機制(例如功能切換),以便在遇到任何問題時可以輕鬆切換回舊功能。當新實現開始向您的用戶提供所有通知功能,並且整體不再使用時,您可以清理舊的實現並刪除可能已實現的任何切換功能標誌