首先,我想澄清一下,我是領域驅動設計的新手,我在問這個問題,因爲我已經閱讀了一些名爲Anemic Domain Model的內容。具有域驅動設計的存儲庫模式變爲反模式?
大部分時間與存儲庫模式工作時,我看到下面的東西。
- ,我們沒有一個通用存儲庫
- 我們有型號,只有含有設置公共屬性,但它不包含任何方法(因此它成爲貧血的域模型按照DDD的定義),因爲這裏儲存庫類處理其他該實體或模型的過程。
請爲我提供查詢您的寶貴答案。
讓我澄清一些事情。
通用庫意味着得到由實體庫實現的通用接口。
我的困惑是關於以後的事
例如: 假設我要救
public class User
{
public int Id { get; set;}
public string Name { get; set};
}
public class UserRepository : IRepository<User>
{
// All Operation Like Save/Get/UserEntity (Domain Object)
}
因此,這裏是我的User類做什麼,而不是它只是有屬性等操作手柄通過UserRespository
。所以我的用戶是貧血域模型。 (因爲它什麼也不做具體的)
在這裏,在附加的圖像,我認爲ProductRepository
所以我的問題是:我的產品類貧血的模式?
請考慮下面的示例圖片爲我所想說的。
您能詳細說明嗎?是什麼讓你想到Repository會成爲反模式?有人的意見?你自己?如果你期望有價值的答案,請給這個問題一些價值:) –
這不是我自己的Repository是反模式,但我混淆了貧血域模型定義和存儲庫模式的方式。像Repository模式一樣,照顧實體的保存,但實體本身沒有任何保存方法。 – dotnetstep
這在DDD中完全有效,將存儲庫視爲服務。 –