-
Notifications
You must be signed in to change notification settings - Fork 0
ООП 09. Домены. Модели доменного уровня. Типы доменов. Мосты, клиенты, сервера.
Когда имеется большая система, мы разбиваем задачу на домены.
Домен - отдельный реальный, абстрактный или гипотетический мир, населенный отчетливым набором объектов, существующих по характерному набору правил или линий поведения.
Каждый домен образует отдельное и связное единое целое.
Главная идея разбиения системы на домены состоит в том, чтобы можно было максимально безболезненно подменять эти домены, а также делегировать их разработку разным людям/отделам.
Один домен не должен требовать наличия класса в другом домене (чтобы можно было подменять домены).
Классификация доменов:
- Прикладные - основные домены, которые решают непосредственно нашу задачу.
- Архитектурный – домен, отвечающий за архитектуру построения системы (один домен на систему); обеспечивает общие механизмы для управления системой и данными (механизмами их передачи). Формализацию начинают с него. Есть уже готовые решения - архитектурные паттерны, которые могут перерастать в целые технологии.
- Сервисные домены – обеспечивают функции, необходимые для поддержания прикладного домена, всевозможные сервисные функции. Пример: интерфейс.
- Домены реализации – стандартные, библиотечные функции и так далее. Дают возможность лёгкой замены одной реализации на другую. По сути это набор функционала. Примеры: функционал ОС, библиотеки QT, Boost, STL и т.д.
Выделяется 2 вида доменов:
- Которые предоставляют возможности - сервера
- Которые используют возможности других доменов – клиенты
Между клиентом и сервером есть мост. Каждую сторону интересует только то, что будет на мосту, и не более того.
Клиент рассматривает мост как набор каких-то предложений, которые кто-то ему представляет.
Сервер – набор требований для выполнения.
Для доменов реализуется диаграмма связи доменов (ДСД).
Диаграмма доменного уровня как правило содержит в верхней части – домены, наиболее осведомлённые о системе (прикладные), внизу – сервисные и реализации.
При разбиении задачи для проектирования каждого домена можно использовать разные технологии. Например в задаче отрисовки, непосредственно рисование – структурный подход, а различные взаимодействия на сцене – объектный. Доменный подход позволяет в дальнейшем легко заменить один домен на другой; сервер рассматривается как набор предложений.
Прикладной домен разбивается на подсистемы, в то время как сервисный – просто набор функций. Для домена, так же как и для подсистемы, рисуется три диаграммы.
-
Модель связей подсистем (по информационной модели);
-
Модель взаимодействия подсистем (по МВО);
-
Модель доступа подсистем (по МДО);
- Модель доступа к объектам. Стрелочкой помечается идентификатор процесса. Модель взаимодействия – асинхронная, событийная модель. Модель доступа – синхронное взаимодействие (один объект может получить данные другого объекта) В итоге получаем модель доступа к объектам, таблица процессов состояний, диаграмма потоков данных действий.
-
Доп
Все как бы на более высоком уровне
- Диаграмма сущность связь —> Диаграмма связей подсистем
- Модель доступа к объектам —> Диаграмма доступа подсистем
- Модель взаимодействия объектов —> Диаграмма взаимодействия подсистем