Dot-Net
儲存庫模式是不是矯枉過正
我使用儲存庫模式(DDD 和 POEAA)已經有一段時間了。然而,我們的一些團隊成員認為這只是額外的抽象層,沒有必要。我可以從他們的論點中看到一些好處。現代 ORM 解決方案(NHibernate 或 EF)幾乎可以滿足您的一切需求。我搜尋並找到了一些這樣的文章和關於這個話題的反駁。那麼儲存庫模式是不是有點矯枉過正?
這主要取決於您的問題的複雜性以及您的領域模型在解決方案中所扮演的角色。對於簡單的解決方案,儲存庫可能是矯枉過正。但是對於具有健壯語言和不斷變化的需求/要求的複雜領域,儲存庫是一個很好的、乾淨的抽象,它擁有領域對象的生命週期。許多 ORM 會做很多這樣的事情,但是,在復雜的領域中,總會有一些領域活動在儲存庫中有意義,並且開箱即用的 ORM 不支持這些活動。
底線:這取決於上下文。