В чем разница между DAO и Data Mapper
-
20-08-2019 - |
Вопрос
Есть ли разница между шаблоном DAO и шаблоном Data Mapper?Является ли DAO всего лишь одним из проектов Data Mapper?
Решение
На самом деле я бы не назвал DAO «шаблоном».Насколько я понимаю, DAO — это во многом то, что есть — «объект доступа к данным», который инкапсулирует детали доступа к постоянному хранилищу данных и, вообще говоря, не имеет ничего общего с базой данных:
interface IBlogDaoService
{
Blog GetBlog(long id);
void SaveBlog(Blog blog);
}
Понятно, что реализации могут использовать либо БД (в этом случае вполне логично использовать Data Mapper), либо простой механизм хранения XML-файлов.
С другой стороны, Data Mapper — это скорее шаблон, который определяет уровень, ответственный за преобразование графов объектов в памяти в реляционную структуру.
Не связан с StackOverflow