ORM/DAO/DataMapper/ActiveRecord/TableGateway различия?

Можете ли вы объяснить мне различия между следующими представителями базы данных, скажем, в PHP.:

ORM DAO DataMapper ActiveRecord TableGateway

Любые примеры будут оценены.

1 ответ

Решение

Это потребует довольно длинного ответа. Вместо того, чтобы повторять то, что другие говорили лучше и более подробно до меня, я связываю вас с некоторыми соответствующими страницами. Я предлагаю просмотреть их. Может быть, перейдите по нескольким дополнительным ссылкам. Википедия всегда хорошее начало. Если после просмотра ссылок у вас все еще есть вопросы по поводу того или иного шаблона, не стесняйтесь возвращаться в SO и спрашивать снова. Но если вы это сделаете, попробуйте сузить его. Лучше задать несколько вопросов и сосредоточиться на конкретных аспектах, чем ожидать, что люди напишут эссе для вас.

Объект реляционного картографа

Объектно-реляционное отображение (ORM, O/RM и O/R mapping) в компьютерном программном обеспечении - это метод программирования для преобразования данных между системами несовместимого типа в реляционных базах данных и объектно-ориентированных языках программирования.

Объект доступа к данным

Используйте объект доступа к данным (DAO) для абстрагирования и инкапсуляции всего доступа к источнику данных. DAO управляет соединением с источником данных для получения и хранения данных.

DataMapper

Слой Mappers (473), который перемещает данные между объектами и базой данных, сохраняя их независимыми друг от друга и от самого Mapper.

Активная запись

Объект, который упаковывает строку в таблицу или представление базы данных, инкапсулирует доступ к базе данных и добавляет логику домена к этим данным.

Таблица данных Шлюз

Объект, который действует как шлюз (466) для таблицы базы данных. Один экземпляр обрабатывает все строки в таблице.

Другие вопросы по тегам