我對你們的想法有關的DataMapper和它帶來什麼利益在新的好奇和對Rails 3DataMapper的VS的ActiveRecord在Rails 3中
改進的ActiveRecord我很欣賞你的意見。
我對你們的想法有關的DataMapper和它帶來什麼利益在新的好奇和對Rails 3DataMapper的VS的ActiveRecord在Rails 3中
改進的ActiveRecord我很欣賞你的意見。
我在Rails 2中使用了Active Record,在Merb和Rails 3中使用了DataMapper,現在我每天都使用DM/Rails 3。我已經閱讀了AR3,但只在一個小項目(內部應用程序)中使用它。
我發現我真正關心的唯一區別是DM的strategic eager loading。它很少做人們希望的事情,它做的事情,對與錯,它與FM有關。
有了明確的eager loading in AR,毫無疑問應該發生什麼:它說明它做了什麼以及(通常)如何做。
雖然「自動」預先加載聽起來不錯,我覺得這對我來說2負的成績:
否則,我覺得AR和DM是不同點的相同的野獸。不像說,Sequel。
我更喜歡DM到AR。我覺得DM實際上是一個ORM,而AR只是SQL的一個包裝。 DM使得在數據存儲之間切換非常容易。 DM的查詢語法更加均勻。SEL(戰略性的急切加載)也使得DM看起來更像是一個對象存儲而不是AR。此外,DM類預先定義了屬性,它使代碼更具可讀性。來到DM世界後,我從來沒有錯過遷徙。 (即使你真的希望可以擁有它們)。使用導軌3,我幾乎只使用DM。
你使用續集?如果不是,爲什麼不呢? – gucki 2011-04-22 19:59:15
@gucki我在一年前將它用於一個項目,但自此轉換爲DM。我真的不記得我們遇到的問題太過分了,我認爲*在堅持之前可能是處理關係的問題,但我不想發誓。我記得Sequel本身沒有錯,例如bug,問題是設計阻抗不匹配。如果我今天開始一個新項目,我肯定會重新審視續集,因爲這些天我很厭惡ORM謊言。 – 2011-04-22 23:03:01