大家好 我試圖建立一個使用DDD方法的解決方案。我創建了一組實體,以及一些用於從實體中刪除數據持久性依賴項的數據源。 它是正確的我,使用DataMapper的像「取景器」類,我有這樣域驅動的設計模式澄清
getById() getUsersByRanking() getByLastName()方法
還是應該DataMapper的不包含專門的查找方法並只使用getById()?
對於我來說,假設存儲庫模式用於刪除已添加到數據映射器的那些「專用」查找程序方法,而是向客戶端提供查詢語言,而不是通過查找實體除ID之外的其他手段是什麼?
我真的希望有人能幫助我澄清這些模式如何與其他域模型,Datamapper,Data presistence,Repository進行交互。
香港專業教育學院讀的Martin Fowler的POEAA很多,但有一個很難連接點:)
您使用哪種語言?你也映射了什麼(SQL DB,Object DB,內存DB,面向文檔DB等)的類型? – WeNeedAnswers 2010-10-12 17:42:54
不管模式具有相同的含義,無論使用哪種語言/數據持久性?但目前我試圖使用關係數據庫(MySQL)將其實現到PHP應用程序中。 – 2010-10-12 18:11:05
對於不同的供應商來說,每個人都有自己的看法,在域名的去向。域的東西可以在Sql數據庫或你的php中實現。我幾乎不瞭解php,它是否支持完整的N層設計?如果您使用N層設計對您的應用程序進行建模和設計,那麼這些部分可以更容易地融合在一起。例如,數據庫隱藏在Repository Class後面,DataMapper將數據庫映射到您使用PHP編寫的Domain Model。然後,應用程序中的所有交互都將通過Repository Class完成。 – WeNeedAnswers 2010-10-12 20:59:32