我首先想說我是而不是試圖完成我目前設計中的領域模型。這是「貧血」模型可接受的設計嗎?
話雖這麼說,我目前正在建設一個類似如下的架構:
UI DTO <=> Service DTO <=> Business/Database DTO (using AutoMapper)
我一直在閱讀Eric Evan's DDD book,並還觀看Greg Young's 7 reasons why DDD projects fail,生怕貧血模型。即使我沒有開DDD,我也不想創建太多的圖層,所以不斷繪製非常類似的東西是很麻煩的。
但是,我所做的設置的全部原因是雙重的。變化和模糊
- 易於改變的簡單:如果我的公開對象通過我的服務暴露出來,我在內部使用的UI和業務對象的話,我更自由地作出不打破現有的API的變化。但是,如果DTO開始偏離,也許我可以使用一個DTO並重構?
- Obscurity:我可以公開我的公共對象,但不公開我的完整對象及其實現,如果它們是內部的。這將需要一個安全的產品,所以我正在爲此做準備。但是,也許我以後可以重構那個?
所以,我的問題是這樣的:我目前的模型是否有意義,或者我稍後要求問題?沒關係,因爲這些對象主要是DTO的?即使在埃文的書中,他暗示說,如果計劃分佈在不同的服務器上,這種模式是可以的。那麼,我的分層是否僅僅是因爲這個原因,因爲我打算讓UI,服務和數據庫層能夠位於不同的服務器上(他們目前沒有當前需要)?
我只是想知道過度體系結構,但在同一時間試圖避免體系結構.....所以,這是模型結構對我目前的實施有利還是不好?
但是,在我目前的情況下,它們在每一層都是一樣的,所以爲了「以防萬一」,爲什麼它目前似乎過分地將對象串起來了, –