Grails消滅Dao帶來的問題

wlmouse發表於2008-06-04
Grails自己學了一段時間了。感覺快速開發的感覺很不錯。以前要幹好幾天的事情,一天就能完成。不過Grails對領域物件持久化使用AOP的方式讓物件自己持久化自己。比如new A().save()。
這樣一來就給我們造成可以在控制器裡很容易的CRUD,對資料庫的訪問隨時隨地都可以,而不用訪問Service->Dao的方式處理。而且Grails自己產生的CRUD程式碼也都在控制器裡進行了持久化操作。
對此我感覺很疑惑了。Grails、ROR這類快速框架的層次劃分該怎麼算?持久化操作該隨時自己做還是仍然放Service裡?
以前Dao可以看作持久化服務元件。我們透過應用層呼叫持久化服務。現在持久化服務給領域物件自己了。那麼我們在哪裡呼叫呢?是隨時使用領域物件來呼叫還是專門寫一個Service封裝起來?

相關文章