我有一個簡單的用例,用戶可以discard
a profile
。這很容易理解,但提出了一些建模問題。DDD,移動到垃圾桶,如何設計它
1 /是否可以在我的profile
實體中有一個標記來表明他在垃圾箱中?
我不這麼認爲。所以我想有兩個ProfileRepository
和TrashRepository
。
2 /因此,鑑於這兩個存儲庫,在我的應用程序服務中,我只需從他的存儲庫中刪除配置文件並將其添加到垃圾箱。看起來很自然,但如果我不能進行交易,會造成麻煩。 (但在我的應用程序中並非如此)。
但是,我使用的是關係數據庫,第一個想法是使用列來指示該行是否在垃圾桶中,並讓這兩個存儲庫在同一張表上工作。我不確定這是個好主意。
我也可以將discard
方法添加到ProfileRepository
,這樣我就不需要這兩個。
哪一個是最好的解決方案? 我可以設置一個標誌來確定我的實體中的狀態(丟棄),還是讓兩個不同的實體具有不同的存儲庫更好?
您爲什麼要反對在'Profile'了'discard'標誌? –
因爲我認爲這不是「真實生活」的一部分,但經過一些討論和反思之後,我認爲我錯了。事實上,「丟棄」比「刪除」或「主動」更可接受。 –