Подтвердить что ты не робот

В чем разница между DAO и DAL?

Изучив Java в школе, я хорошо знаком с DAO-образцом (Объектом доступа к данным). Однако на работе я использую .NET. В .NET часто говорят о DAL (Уровень доступа к данным). Для меня их цель кажется весьма схожей. Итак, вопрос в том, что DAO и DAL в принципе одно и то же? Является ли термин DAL только составленным, чтобы он не смешивался с Объектами доступа к данным?

4b9b3361

Ответ 1

Уровень доступа к данным (DAL) - это уровень системы, существующий между уровнем бизнес-логики и уровнем сохранения/хранения. DAL может быть одним классом или может состоять из нескольких объектов доступа к данным (DAO). Он может иметь фасад над верхней частью бизнес-уровня, чтобы говорить, скрывая сложность логики доступа к данным. Это может быть сторонний инструмент объектно-реляционного сопоставления (ORM), такой как Hibernate.

DAL - архитектурный термин, DAO - это детализация дизайна.

Ответ 2

Уровень доступа к данным будет содержать много объектов доступа к данным.

Основная роль - отделить бизнес-логику от логики и реализации базы данных.

Например, DAL может иметь один метод, который будет извлекать данные из нескольких таблиц, запросов или хранимых процедур через один или несколько объектов доступа к данным.

Изменения в структуре базы данных, DAO, хранимых процедурах или даже типе базы данных не должны вносить изменения в бизнес-логику, и это зависит от развязки, предоставляемой DAL.