我有以下型號集:自動映射器映射將模型發佈到域模型?
- 實體
- 域
- 查看
- 請求(郵政法)
我有以下automapper映射:
- 實體 - >域名
- 域 - >實體
- 域 - >查看
我也很難理解什麼做與我的帖子車型。他們是否應該直接映射到域名?它們是否應映射到RequestsDomains?
您認爲如何?
我有以下型號集:自動映射器映射將模型發佈到域模型?
我有以下automapper映射:
我也很難理解什麼做與我的帖子車型。他們是否應該直接映射到域名?它們是否應映射到RequestsDomains?
您認爲如何?
郵政模型幾乎總是在DDD意義上的命令。如果它們是真正的命令,那麼你的域負責執行不變量等。映射可以繞過所有這些。我很少映射回域名。你可以通過一個命令處理程序或直接在命令域的任何潛在狀態變化:
class Invoice {
void Handle(ApproveCommand command) {
// Do work to approve an invoice. ApproveCommand is your Post model
}
}
因此,如果我需要從客戶端的輸入中添加一個實體,那麼您在該Handle方法中直接實例化一個實體? 有些屬性可以直接映射,其他一些屬性只能填充到邏輯層中。那麼,那種不好的做法是映射到Domain並忽略一些屬性,然後在Core中填充它們的值? –
是的,我直接實例化。該代碼儘可能是程序性的。我不知道什麼是邏輯層,但是我把這個代碼放在處理程序裏面,儘可能愚蠢和明顯。像存儲過程一樣思考。或者你可以把這個處理程序放在域外,並且它是一個域服務。 –
「實體」 ==由實體框架映射的對象? 「域」==域對象?請澄清。在DDD中,域對象創建命令通常不會自動映射字段到域對象,因爲這會繞過不變實施。正常的構造函數或工廠被用來代替。 – guillaume31