ORM/DAO/DataMapper/ActiveRecord/TableGateway различия?
Можете ли вы объяснить мне различия между следующими представителями базы данных, скажем, в PHP.:
ORM DAO DataMapper ActiveRecord TableGateway
Любые примеры будут оценены.
1 ответ
Это потребует довольно длинного ответа. Вместо того, чтобы повторять то, что другие говорили лучше и более подробно до меня, я связываю вас с некоторыми соответствующими страницами. Я предлагаю просмотреть их. Может быть, перейдите по нескольким дополнительным ссылкам. Википедия всегда хорошее начало. Если после просмотра ссылок у вас все еще есть вопросы по поводу того или иного шаблона, не стесняйтесь возвращаться в SO и спрашивать снова. Но если вы это сделаете, попробуйте сузить его. Лучше задать несколько вопросов и сосредоточиться на конкретных аспектах, чем ожидать, что люди напишут эссе для вас.
Объект реляционного картографа
Объектно-реляционное отображение (ORM, O/RM и O/R mapping) в компьютерном программном обеспечении - это метод программирования для преобразования данных между системами несовместимого типа в реляционных базах данных и объектно-ориентированных языках программирования.
Используйте объект доступа к данным (DAO) для абстрагирования и инкапсуляции всего доступа к источнику данных. DAO управляет соединением с источником данных для получения и хранения данных.
Слой Mappers (473), который перемещает данные между объектами и базой данных, сохраняя их независимыми друг от друга и от самого Mapper.
Объект, который упаковывает строку в таблицу или представление базы данных, инкапсулирует доступ к базе данных и добавляет логику домена к этим данным.
Объект, который действует как шлюз (466) для таблицы базы данных. Один экземпляр обрабатывает все строки в таблице.