Базы данных
October 31, 2023

ORM - паттерны (Active Record и Data Mapper)

Active Record и Data Mapper - это два популярных архитектурных паттерна, используемые в разработке программного обеспечения, особенно в контексте работы с базами данных.

Active Record - это паттерн проектирования, в котором объект представляет собой комбинацию данных и логики (методов), связанной с этими данными. Каждый объект Active Record представляет отдельную строку в базе данных и предоставляет методы для доступа к этим данным, их изменения и сохранения обновлений в базе данных.

Data Mapper - это паттерн проектирования, который разделяет объекты предметной области (бизнес-объекты) от схемы базы данных. Объекты предметной области не обязательно должны быть напрямую связаны с базой данных; вместо этого, Data Mapper отвечает за выполнение операций чтения и записи данных между объектами и базой данных. Этот паттерн позволяет более гибко управлять доступом к данным и упрощает изменения в базе данных без необходимости изменять объекты предметной области.

Оба паттерна используются для удобного доступа к данным и упрощения работы с базами данных. Они имеют свои преимущества и недостатки, и выбор между ними зависит от конкретных требований и контекста приложения.

Какой из паттернов используется в Doctrine

Doctrine использует паттерн Data Mapper для работы с базами данных. Это означает, что Doctrine отделяет объекты предметной области (Entity) от схемы базы данных и обеспечивает маппинг их свойств и отношений на таблицы и столбцы базы данных. Doctrine предоставляет ORM (Object-Relational Mapping) для работы с базой данных, а точнее для выполнения операций чтения и записи данных между объектами и базой данных.