Мне любопытно, что вы, ребята, думаете о DataMapper и о том, какие преимущества он приносит за новый и улучшенный ActiveRecord в Rails 3.
Я ценю ваше мнение.
Мне любопытно, что вы, ребята, думаете о DataMapper и о том, какие преимущества он приносит за новый и улучшенный ActiveRecord в Rails 3.
Я ценю ваше мнение.
Я предпочитаю DM до AR. Я считаю, что DM на самом деле является ORM, тогда как AR - всего лишь оболочка вокруг SQL. DM очень легко переключаться между хранилищами данных. Синтаксис запроса DM намного более однородный и т.д. SEL (стратегическая загрузка) также делает DM более похожим на хранилище объектов, чем AR.
Кроме того, классы DM определяют свойства спереди и делают код более читаемым. Я никогда не пропускал миграцию после прихода в мир DM. (даже если вы можете иметь их, если хотите). С рельсами 3 я почти исключительно использую DM.
Я использовал Active Record в Rails 2 и DataMapper в Merb и Rails 3-я теперь использую DM/Rails 3 ежедневно. Я читал AR3, но использовал его только в одном небольшом проекте (собственное приложение).
Я нашел единственное различие, которое мне действительно волнует: DM стратегическая загрузка.. Он редко делает то, что можно было бы надеяться и что он делает, правильно и неправильно, это с FM.
С явной активной загрузкой в AR, нет никаких сомнений в том, что должно произойти: оно говорит, что он делает и (как правило) делает то, что говорит.
В то время как "автоматическая" загруженная загрузка звучит хорошо, я считаю, что для меня есть два отрицательных результата:
В противном случае я считаю, что AR и DM - это те же самые звери с разными пятнами. В отличие, скажем, Sequel.