Я нахожусь в середине "дискуссии" с коллегой о том, как лучше всего реализовать слой данных в новом приложении.
Одна точка зрения состоит в том, что уровень данных должен знать о бизнес-объектах (наших собственных классах, представляющих сущность) и уметь работать с этим объектом изначально.
Противоположная точка зрения состоит в том, что уровень данных должен быть независимым от объекта и обрабатывать простые типы данных (строки, bools, даты и т. Д.)
Я вижу, что оба подхода могут быть действительными, но моя собственная точка зрения заключается в том, что я предпочитаю первый. Таким образом, если среда хранения данных изменяется, бизнес-уровень не должен (обязательно) изменяться для размещения нового уровня данных. Поэтому было бы тривиально перейти от хранилища данных SQL к хранилищу сериализованной файловой системы xml.
Точка зрения моего коллеги заключается в том, что слой данных не должен знать об определениях объектов, и что до тех пор, пока данные передаются соответствующим образом, этого достаточно.
Теперь я знаю, что это один из тех вопросов, которые могут привести к религиозной войне, но я был бы признателен за любые отзывы сообщества о том, как вы подходите к таким вещам.
ТИА