5. Проектирование слоя бизнес логики - RikRimberg/Software-architecture-design-2016-2017 GitHub Wiki

Сравнительный анализ и выбор архитектурного шаблона уровня бизнес-логики

Паттерн Описание Преимущества Недостатки
Сценарий транзакции (функциональный подход) Логика предметной области распределяется по транзакциям, выполняемым в системе. Удобная процедурная модель, легко воспринимаемая разработчиками; Удачно сочетается с простыми схемами организации слоя источника данных; Определяет четкие границы транзакций Высокая сложность сценариев; Дублирование фрагментов кода
Модель предметной области (объектный подход) Предусматривает создание сети взаимосвязанных объектов, каждый из которых представляет некую осмысленную сущность - либо такую крупную, как промышленная корпорация, либо настолько мелкую, как строка формы заказа. Перераспределение логики между объектами; Сложность алгоритмов перетекает в связи между объектами; Масштабируемость и расширяемость Требует опыта «объектного мышления»; Более трудоемка; Множество связей затрудняет понимание
Модуль таблицы (смешанный подход) Основано на максимальном совмещении структуры приложения с реляционной моделью используемой базы данных. Предусматривает создание по одному классу на каждую таблицу базы данных, и единственный экземпляр класса содержит всю логику обработки данных таблицы. Учитывает структуру хранения данных; Объединение данных и логики; Множественная обработка данных Затруднены связи между объектами; Сложность применения полиморфизма; Зависимость от способа хранения данных
Слой служб Схема определения границ приложения посредством слоя служб, который устанавливает множество доступных действий и координирует отклик приложения на каждое действие. Возможность определения набора операций, доступных для применения многими категориями клиентов; Координация откликов приложения на выполнение каждой операции; Могут включать в себя логику приложения, передаваемую в рамках атомарных транзакций с использованием нескольких ресурсов

На основе рассмотренных особенностей паттерном организации бизнес-логики была выбрана Модель предметной области.