Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП / ООП / ры_приложений_полная_книга.pdf
Скачиваний:
524
Добавлен:
18.02.2017
Размер:
7.08 Mб
Скачать

Общие принципы проектирования

При проектировании бизнес-слоя перед архитектором ПО стоит задача максимально упростить приложение путем разделения задач на разные функциональные области. Например, логика обработки бизнес-правил, бизнес-процессов и бизнес-сущностей – все они представляют разные функциональные области. В рамках каждой области проектируемые компоненты должны быть сфокусированы на решении конкретной задачи и не должны включать код, связанный с другими функциональными областями. При проектировании бизнес-слоя придерживайтесь следующих рекомендаций:

Убедитесь в необходимости отдельного бизнес-слоя. По возможности всегда создавайте отдельный бизнес-слой, это способствует повышению удобства обслуживания приложения. Исключением могут быть лишь приложения с небольшим числом или вообще без бизнес-правил (кроме валидации данных).

Определитесь с ответственностями и потребителями бизнес-слоя. Это поможет принять решение о том, какие задачи должен выполнять бизнес-слой, и каким образом будет предоставляться доступ к нему. Используйте бизнес-слой для обработки сложных бизнес-правил, преобразования данных, применения политик и валидации. Если бизнес-слой будет использоваться и слоем представления, и внешними приложениями, можно предоставить бизнес-слой в виде сервиса.

Не смешивайте в бизнес-слое компоненты разных типов. Используйте бизнес-слой как средство избежать смешения кода представления и доступа к данным с бизнеслогикой, чтобы отделить бизнес-логику от логики представления и доступа к данным и упростить тестирование бизнес-функциональности. Также используйте бизнес-слой, чтобы централизовать функции бизнес-логики и обеспечить возможность повторного использования.

Сократите количество сетевых вызовов при доступе к удаленному бизнес-слою.

Если бизнес-слой размещается на другом уровне, физически отдельно от других слоев и клиентов, с которыми должен взаимодействовать, рассмотрите возможность реализации удаленного управляемого сообщениями фасада приложения или слоя сервисов, который объединит мелкие операции в более крупные. Используйте большие пакеты для передачи данных по сети, такие как Объекты переноса данных (Data Transfer Objects, DTO).

Избегайте тесного связывания между слоями. При создании интерфейса бизнес-

слоя применяйте принципы абстракции для максимального ослабления связывания. К техникам абстракции относятся использование открытых объектных интерфейсов, общих описаний интерфейсов, абстрактных базовых классов или связи через обмен сообщениями. Для Веб-приложений создайте управляемый сообщениями интерфейс между слоем представления и бизнес-слоем. Более подробно эти вопросы рассматриваются в главе 5, «Рекомендации по проектированию многослойных приложений».

Соседние файлы в папке ООП