2013-07-25 41 views
7

我從DDD哲學開始,我想實現與我們在此處的遺留系統的集成。在我對互聯網的研究中,我發現了一些文章和樣本,但我必須承認:很難理解如何正確地進行集成。如何正確實施反腐敗層

在問這個問題之前,我在這裏做了一個搜索,但結果對我沒有用,所以我想知道是否可以發送或顯示一個ACL的實現樣本。

在這裏,我有這樣的項目:

  • 遺留系統
  • 原有數據庫(我需要訪問)
  • 將採用DDD方法
創建新的應用程序

最初的想法是在整個NHibernate訪問數據庫,創建一些所需的映射類,域實體和實現業務規則。據埃裏克埃文斯稱,這種策略被稱爲[泡泡背景] [1]。我認爲這個策略可以解決我的問題,但我需要一些樣本來以正確的方式做到這一點。

有人可以幫助我嗎?

+2

你讀過埃裏克埃文斯的書「域驅動設計」,有一個關於acl的部分。 Acl實際上是在DDD中應用適配器模式的一個示例。 – Hippoom

+1

我從個人經驗中得到的一個建議是不要跳過使用NHibernate訪問遺留數據庫,因爲這可能不值得。相反,請專注於使用可通過ACL訪問新應用程序的服務來封裝舊系統。 – eulerfx

回答

6

ACL是一種模式,而不僅僅是一段代碼。在你描述的內容中,你沒有說你對傳統系統有很強的依賴性,或者你只是想在當前系統中內置一些獨立的代碼?有了這個,你可以決定將你的ACL只是一個數據庫服務,還是將它包含在遺留系統邏輯上?

您放入ALC的實際部分高度依賴於您的實施。 有你問什麼的一般模式: enter image description here

你可以在Eric Evan's talk找到更多信息。