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