DataMapper - DataMapper

DataMapper является объектно-реляционный преобразователь библиотека написано в Рубин что следует за активный шаблон записи хотя из названия следует, что он следует за шаблон отображения данных. Хотя DataMapper 1, возможно, не достиг полной развязки между объектом и базой данных, предложенной шаблоном отображения данных, похоже, что DataMapper 2 предназначен для изменения этого (а-ля Virtus, библиотека, адаптированная из DataMapper).[1] Перед запуском проект DataMapper 2 был переименован и был выпущен как Ruby Object Mapper (ROM) в августе 2013 года.[2]

Некоторые особенности DataMapper:[3]

  • Жадная загрузка дочерних ассоциаций, чтобы избежать (N + 1) запросов
  • Ленивая загрузка выбранных свойств, например, больших полей
  • Цепочка запросов и не оценка запроса до тех пор, пока это не станет абсолютно необходимым (с использованием реализации ленивого массива)
  • API, не слишком ориентированный на базы данных SQL

DataMapper был разработан как более абстрактный ORM, а не строго SQL, основанный на Мартин Фаулер образец предприятия.[4] В результате адаптеры DataMapper были созданы для других баз данных, отличных от SQL, таких как CouchDB,[5] Apache Solr,[6] и веб-сервисы, такие как Salesforce.com.[7]

Рекомендации

  1. ^ "datamapper wiki: дорожная карта". GitHub.
  2. ^ "Где DataMapper 2?". Группы Google.
  3. ^ http://datamapper.org/why
  4. ^ Фаулер, Мартин; Дэвид Райс; Мэтью Феммел; Эдвард Хиатт; Роберт Ми; Рэнди Стаффорд (ноябрь 2002 г.). Паттерны архитектуры корпоративных приложений. Эддисон-Уэсли. ISBN  0-321-12742-0.
  5. ^ «Архивная копия». Архивировано из оригинал на 2009-08-27. Получено 2016-01-02.CS1 maint: заархивированная копия как заголовок (связь)
  6. ^ https://github.com/lritter/dm-solr-adapter/tree/master
  7. ^ https://github.com/halorgium/dm-salesforce/tree/master

внешняя ссылка