Должен ли DAL быть уровнем перевода между реляционной моделью и моделью предметной области?

Простой вопрос, на который, я думаю, у меня есть ответ, но я ищу деку. Должен ли DAL переводить все, что поступает из базы данных (будь то через прямой SQL, хранимые процедуры, ORM и т. д.) в объекты предметной области, как это понимает бизнес-уровень? Отдельно следует отметить, должны ли все объекты домена определяться интерфейсом (по крайней мере, для минимизации зависимостей)?


person Otávio Décio    schedule 02.03.2010    source источник


Ответы (1)


Должен ли DAL переводить все, что поступает из базы данных (будь то через прямой SQL, хранимые процедуры, ORM и т. д.) в объекты предметной области, как это понимает бизнес-уровень?

На мой взгляд, да. Хотя я не уверен, что есть жесткое и быстрое правило.

Отдельно следует отметить, должны ли все объекты домена определяться интерфейсом (по крайней мере, для минимизации зависимостей)?

На мой взгляд, нет. Это может закончиться множеством интерфейсов, которые не добавляют никакой ценности. ЯГНИ.

person Michael Maddox    schedule 02.03.2010
comment
Спасибо, Майкл. У меня такое же мнение о DAL; но по какой-то причине я подумал, что мне нужно определить интерфейсы для сущностей, чтобы лучше поддерживать модульное тестирование. Неверное предположение, как я теперь вижу в системе, над которой я работаю. Как я уже сказал, нет ничего лучше второй пары глаз... - person Otávio Décio; 02.03.2010