2010-09-02 118 views
1

可以/應該我的POCO的包含多個數據庫(如果適用)?POCO設計問題

我問的原因是我正在重構分階段構建的舊版企業應用程序。不幸的是,每個階段都有自己獨立的數據庫(至少它們都在同一個SQL實例中)。

正因爲如此,我可以很容易地看到一個典型的業務對象可我知道,在DDD我沒有對象應該知道,如果有類型的,我只是想知道2之間跨越,不成文的規則,多表是好的,但不是多個數據庫。

這會不會導致我大量頭疼的路線,即,我應該把精力投入到合併4分獨立DB的成1,因爲它們都適用於相同的應用程序與應用「創可貼」的解決方案?

在我教導我自己時,採取任何我用一粒鹽做的陳述域驅動設計當我這樣做並試圖將它應用於我去。

+1

您可能會發現這一個有趣-http://ayende.com/Blog/archive/2010/08/20/application-databases-and-external-integration-points.aspx – 2010-09-02 16:56:49

回答

1

我們目前的內部系統使用多個數據庫。我們的客戶數據來自現成的ERP。我們的「購物車」數據來自幾個定製數據庫,這些數據庫被分解爲產品和報價。一旦我們與會計/運輸接口,我們將連接到另一個數據庫以訪問訂單數據。有時候我們網站的觀點會彙總來自所有這些系統的信息,所以我們的POCO可以充分利用來自遠方地方的各種垃圾。我們將其留給我們的域服務層來訪問各種數據庫並填寫我們的POCO。

2

您的POCO應該是持久性無知 - 他們不關心他們來自哪裏,或他們要去哪裏。

您的重點應該放在資源庫:它們定義數據來自何處,以及數據如何注入您的POCO。當你決定合併你的數據庫時,你只需要更新你的Repository類。

希望有所幫助。

+0

因此,要回答我的直接問題,可以擁有一個POCO,因爲他們不知道這一點,所以它可以面向多個數據庫。 – 2010-09-02 17:00:55