сущности могут быть реализованы с использованием разнообразных подходов
.
Необходимо определить стратегию заполнения бизнес-сущностей или структур
данных из источника данных и их предоставления для доступа с бизнес-слоя или
слоя представления приложения. Шаблоны Domain Model и Table Module более
подробно рассматриваются в разделе «Шаблоны проектирования» ближе к
окончанию данной главы. Больше сведений о бизнес-сущностях и форматах данных
можно найти в главе 13, «Проектирование бизнес-сущностей».
Рассмотрите возможность объединения структур данных. При предоставлении
данных через сервисы воспользуйтесь Объектами передачи данных (Data Transfer
Objects, DTO), они помогут организовать данные в унифицированные структуры.
Кроме того, объекты DTO позволяют реализовать слабо детализированные
операции, обеспечивая при этом структуру для перемещения данных через
границы. Объекты DTO также могут объединять бизнес-сущности при выполнении
агрегированных операций. При использовании шаблона Table Data Gateway или
Active Record данные могут быть представлены с помощью класса DataTable
(Таблица данных).
Примите решение о том, как будет реализовано управление подключениями.
Обычно слой доступа к данным должен создавать и управлять подключениями ко
всем источникам данных, используемым приложением. Необходимо выбрать
метод хранения и защиты данных подключения, соответствующий требованиям
безопасности предприятия. Возможными вариантами могут быть шифрование
разделов конфигурационного файла или сохранение конфигурационных данных
исключительно на сервере. Подробнее эти вопросы рассматриваются в главе 15,
«Проектирование компонентов слоя доступа к данным».
Определите, как будут обрабатываться исключения, возникающие при обработке
данных. Слой доступа к данным должен перехватывать и обрабатывать (по крайней
мере, обеспечивать начальный этап) все исключения, связанные с источниками
данных и операциями CRUD (Create, Read, Update и Delete). Исключения,
касающиеся самих данных и доступа к источникам данных, и ошибки истечения
времени ожидания должны обрабатываться в этом слое и передаваться в другие
слои, только если сбои оказывают влияние на скорость ответа и функциональность
приложения.
Учтите риски безопасности. Слой доступа к данным должен обеспечивать защиту от
попыток похищения или повреждения данных и защищать механизмы,
используемые для получения доступа к источнику данных. Например, очищать
детализированную информацию об ошибках или исключениях, чтобы не было
возможности разглашения данных из источника данных, и использовать менее
привилегированные учетные записи, обладающими только необходимыми для
осуществления операций приложения правами. Даже если сам источник данных
обладает возможностью ограничивать привилегии, защита должна быть
В том числе и несовместимых с описанными выше шаблонами сопоставления (прим.
научного редактора).