2017-02-17 10 views

回答

3

反腐敗層在這裏可以防止外部系統的習語和行爲泄漏到您的有界上下文中。因此,將出現的異常包裝成適合您的BC的異常似乎是一個好主意。

這樣做也會迫使您考慮可能發生在反腐層內部的錯誤情況,並使您的應用程序更加健壯。順便說一下,並非ACL內部發生的所有錯誤都可能會由直接第三方系統客戶端異常引起。您還必須解決成功但不一致的結果,以異常(例如意外的HTTP響應狀態)等方式發送錯誤信息。

請注意,包裝異常並不意味着截斷它 - 我們需要保留所有信息從原來的錯誤。有關例外的所有良好做法仍然有效。

0

我不打包所有這些例外。我可以讓遺留異常冒出堆棧。原因是它可能會讓你的反腐敗層面混亂。但有時候這取決於可能需要返回某些例外的錯誤代碼。這些例外我包裝到我的新的有界上下文(反腐敗層)。