2015-11-06 50 views
0

在我的公司,我們使用的是一個帶有內置表單的文件數據庫。 (比如在ms訪問中) 我們想用PHP編寫的微服務替換這個數據庫。每個微服務應該有自己的數據庫。遷移到新數據庫和模式的提示

作爲前端,我們希望使用Web應用程序 - >通過REST調用與服務進行通信。

我的問題是,雖然我們正在努力取代當前的系統,但我們必須使用filemaker數據庫。 Filemaker數據庫有很多冗餘,並且沒有正常化。

我在考慮使用存儲庫模式。我們可以設計我們的域(不是基於當前數據庫)和一個將數據寫入filemaker數據庫的倉庫......稍後我們可以通過任何其他數據庫來替換文件數據庫,其架構類似於領域層,但是我們必須寫存儲庫層是新的。

當前數據庫存儲計算值,我應該在哪裏計算此值,以後應該將其刪除,我不想再次觸摸域圖層。

這將是很好的得到一些提示。 你會怎麼做呢?也許有人有類似的問題經驗。

存儲庫模式是否適合這種問題?我們是否需要從頭開始編寫我們的存儲庫?

先進的感謝

回答

1

你似乎是在這條好路上。使用現有後端遷移到服務層,然後在完成原始應用程序後替換數據庫層。

存儲庫模式對此非常合適。

對於計算值應該是業務領域層的一部分。您要保存到存儲庫的業務對象應該是完整的(從業務邏輯的角度來看)。存儲庫將負責將這些業務域對象映射到持久化的數據實體,並寫入相關表。

如果您遵循這些模式,存儲庫將從底層數據庫完全抽象出您。

在您完成這項工作時,請幫助您,並且不要創建絕對反映基礎表結構的業務對象。創建反映「正確」域的對象,而不是圍繞文件製作器屏幕有機增長的對象。您已經有一個存儲庫層來抽象它,不妨利用它。