簡體   English   中英

種子數據是領域層的一部分嗎?

[英]Is seed data part of domain layer?

我喜歡在我的解決方案中組織包以對應三個經典的洋蔥架構層:

  • 領域
  • 應用
  • 基礎設施

讓我們考慮一個計算股票價格的示例交易所應用程序。 此示例應用程序可能需要一些可用的公司初始數據。 當然,這些公司必須是可以理解的領域。 我知道我應該在域包中只有業務規則,但是如果沒有這些最初的公司集合,業務將無法生存。 我經歷過的大多數教程都在基礎設施中的某個地方有這些數據,而且它是依賴關系。 例如,有人配置了持久性,並在其中的某處向數據庫添加了一些記錄或其他內容。 我已經創建了一個靜態集合,其中包含在域包中運行應用程序之前需要保留的所有聚合。 然后在基礎結構包中引用它們以在應用程序啟動時執行插入邏輯。 這是正確的方法嗎? 如果沒有,請解釋我做錯了什么? 問候

我認為您的方法(在域中定義為聚合的硬編碼靜態數據)甚至比在基礎結構中使用普通數據加載存儲設備更正確,因為您是從應用程序執行的,它會檢查數據驗證。 另一方面,基礎結構中的普通數據可能包含無法檢測到的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM