2011-03-31 45 views
0

我正在使用域驅動設計方法創建.net應用程序。該應用程序包括爲客戶服務的賬單。該規則說,每天,在給定的時間應該生成發票並且應該更新用戶的餘額。正如我所看到的,這裏最好的選擇是一個數據庫作業,它被安排執行上述任務。但是,這是否與DDD兼容?在這種情況下,邏輯分爲數據庫和domail層,這似乎不是一個好主意。在域驅動設計中使用數據庫作業

+0

我的問題與您的設計不是你正在使用數據庫作業,但你已經承諾實施。在這個階段,我不知道有必要決定如何實現該功能。 – 2011-03-31 21:46:13

+0

這個問題的理念是DDD是否接受將實施的某些部分放入數據庫。我已經設計了模型和相應的服務。由於我在DDD方面不是很有經驗,所以我問了關於在數據庫腳本中加入一些邏輯的問題。 – Markus 2011-03-31 21:55:03

+0

但是你爲什麼要跳到執行?你怎麼決定「這裏最好的選擇是數據庫工作」? – 2011-03-31 22:38:07

回答

2

DDD的一部分是盡力將領域模型與技術問題分離。在數據庫工作

把業務知識表示:

  • 你將有2個地方尋找
  • 你的業務邏輯將2種語言來描述業務邏輯(模型隔離的損失)(例如C#; T-SQL)
  • 它可能不是易於管理的業務邏輯W /程序的SQL腳本
  • 這可能不容易同步瓦特/一部分是寫在淨

我個人不會走那條路。我會寫背景服務。

2

實施數據庫作業將更加難以調試和單元測試是否重要。

我會推薦一個服務來完成預定的任務。