Рельсовик-затейник.

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (4)
  • DataMapper vs ActiveRecord?

    DataMapper это не только гем, но шаблон проектирования, который часто противопоставляется шаблону ActiveRecord (см. труды Фаулера). Вне rails сообщества эти названия известны именно в таком контексте.
    Однако.
    Во первых гем DataMapper, не самая лучшая реализация шаблона DataMapper, уходящая куда-то вкось. Во вторых он просто уже не разрабатывается.
    Гем ActiveRecord, напротив, едва ли не эталон всеобщей продуманности в мелочах и конечно (как иначе), ActiveRecord разрабатывается активно.

    Присоединяясь к ответу Роман Крылов, скажу что лучший способ реализовать DataMapper в рельсах - построить его вокруг Sequel, прекрасной библиотеки доступа к БД, лишенной многих недостатков ActiveRecord связанных с его врожденной негибкостью (convention over configuration, ага) и проблем с производительностью (подгружает иногда что-то лишнее, редко, но в особых случая это может быть важно).

    Когда использовать одно, а когда другое?
    Если у вас есть возможность проектировать базу данных в соответствии с конвенциями Rails - однозначно используйте ActiveRecord. Вы сэкономите много сил и средств.
    Если вы строите проект над готовой базой или если структура проектируемой БД слишком сложна - используйте Sequel, делайте преобразователи данных, стройте абстрактную, отвязанную от БД объектную модель.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (1)