Вопрос

Есть ли разница между шаблоном DAO и шаблоном Data Mapper?Является ли DAO всего лишь одним из проектов Data Mapper?

Это было полезно?

Решение

На самом деле я бы не назвал DAO «шаблоном».Насколько я понимаю, DAO — это во многом то, что есть — «объект доступа к данным», который инкапсулирует детали доступа к постоянному хранилищу данных и, вообще говоря, не имеет ничего общего с базой данных:

interface IBlogDaoService
{
    Blog GetBlog(long id);
    void SaveBlog(Blog blog);
}

Понятно, что реализации могут использовать либо БД (в этом случае вполне логично использовать Data Mapper), либо простой механизм хранения XML-файлов.

С другой стороны, Data Mapper — это скорее шаблон, который определяет уровень, ответственный за преобразование графов объектов в памяти в реляционную структуру.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top