Лекция № 2. Организация бизнес-логики. Практически любая ИС. Три основных слоя . HI Human Interface PD Problem Domain OS Other systems DM Data Management NT Not this time Организация бизнес-логики. Три основных подхода: Сценарий транзакции (transaction script); Модель предметной области (domain model); Модуль таблицы (table module); Самый простой подход. Сценарий транзакции. Сценарий транзакции – процедура, которая получает на вход информацию от слоя представления, обрабатывает ее, проводит все необходимые проверки и вычисления, сохраняет данные на уровне слоя хранения и активизируем операции других систем. Затем процедура возвращает слою представления определенные данные, возможно, осуществляет при этом некоторые вспомогательные операции для форматирования содержимого результата. Бизнес-логика = набору процедур, по одной на каждую составную операцию, которую способно выполнить приложение. Преимущества: Представляет собой удобную процедурную модель, которая легко воспринимается всеми разработчиками; Удачно сочетается с простыми методам организации слоя источника данных; Определяет четкие границы транзакции. Недостатки: Дублирование, потеря структуры. Самый-самый ООП подход. Модель предметной области. Модель предметной области – структурируется преимущественно вокруг сущностей рассматриваемого домена. Бизнес-логика = набору коопераций, реализованных в виде взаимодействия различных объектов, отражающих сущности предметной области. Преимущества: Представляет возможность использовать все возможности объектно-ориентированного подхода; Повторное использование; Определяет четкие границы коопераций. Недостатки: Сложно, проблема организации уровня хранения (O-R преобразование). Пример: - - new Нечто среднее. Модуль таблицы. Модуль таблицы – промежуточный вариант, компромиссный по отношению к первым двум, реализованный с помощью наборов данных (record set). Бизнес-логика = организуется вокруг набора таблиц, что облегчает структурирование, возможности поиска и удаление, повторяющихся фрагментов кода. Преимущества: Интеграция с остальными элементами архитектуры. Недостатки: Ограничения на реализацию различных ООП штучек (наследование, стратегии). Пример: new (theDataSet) new (theDataSet) new (theDataSet) - Итого: