Обзор архитектурных стилей
Архитектура ИС
Модель 4+1
Многоуровневая архитектура
Трехуровневая архитектура
Model-View-Controller
Model-View-Presenter
Model-View-View Model
Чистая архитектура
Гексагональная архитектура
GRASP принципы
Микросервисная архитектура
Микросервисная архитектура
Микросервис
Определение микросервисной архитектуры приложения
Определение системных операций
Создание обобщенной доменной модели
Определение системных операций. Команды
Определение системных операций. Запросы
Разбиение на сервисы по бизнес-возможностям
Разбиение на сервисы по проблемным областям (domain-driven design, DDD)
Два варианта разбиения для одного приложения
Разделение информации
Определение API сервисов
Шаблон «Душитель» (Strangler)
Шаблон «Уровень защиты от повреждений» (Anti-Corruption Layer)
2.96M
Категория: ИскусствоИскусство

Обзор архитектурных стилей

1. Обзор архитектурных стилей

2. Архитектура ИС

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

3. Модель 4+1

Логическое представление
Представление реализации
Представление процесса
Развертывание
Сценарии

4. Многоуровневая архитектура

Слой представления (слой UI (User Interface), UIL (User Interface Language),
пользовательский интерфейс, уровень представления в многоуровневой архитектуре)
Слой приложения (сервисный слой, сервисный уровень или GRASP уровень управления)
Слой бизнес-логики (слой предметной области, BLL (Business Logic Layer))
Слой доступа к данным (слой хранения данных, DAL (data access language))

5. Трехуровневая архитектура

Уровень представления — содержит код, реализующий пользовательский интерфейс или
внешние API
Уровень бизнес-логики — содержит бизнес-логику
Уровень хранения данных — реализует логику взаимодействия с базой данных

6. Model-View-Controller

7. Model-View-Presenter

8. Model-View-View Model

9. Чистая архитектура

10. Гексагональная архитектура

11. GRASP принципы

Основные шаблоны:
Information Expert
Creator
Controller
Low Coupling
High Cohesion
Дополнительные шаблоны:
Pure Fabrication
Indirection
Polymorphism
Protected Variations

12. Микросервисная архитектура

13. Микросервисная архитектура

14.

15. Микросервис

16. Определение микросервисной архитектуры приложения

17. Определение системных операций

18. Создание обобщенной доменной модели

Consumer — клиент, размещающий заказ
Order — заказ, размещенный клиентом
OrderLineltem — отдельная позиция в заказе
Delivery Inf о — время и место доставки заказа
Restaurant — ресторан, готовящий заказы для
доставки клиентам
Menuitem — пункт в меню ресторана
Courier — курьер, который доставляет клиентам
заказы (отслеживает доступность
Ключевые классы доменной модели
курьеров и их местоположение)
Address — адреса клиента и ресторана
Location — широта и долгота местонахождения
курьера.

19. Определение системных операций. Команды

Ключевые системные команды для приложения
Спецификации

20. Определение системных операций. Запросы

Пользователь вводит адрес и время
доставки.
Система выводит доступные рестораны.
Пользователь выбирает ресторан.
Система выводит меню.
Пользователь выбирает пункт меню и
оплачивает счет.
Система создает заказ.
findAvailableRestaurants(deliveryAddr
ess, deliveryTime) — извлекает
рестораны, которые могут выполнить
доставку по заданному адресу в
заданное время.
findRestaurantMenu(id) — извлекает
информацию о ресторане, включая
блюда в меню.

21. Разбиение на сервисы по бизнес-возможностям

Разбиение на сервисы по бизнесвозможностям

22. Разбиение на сервисы по проблемным областям (domain-driven design, DDD)

23. Два варианта разбиения для одного приложения

24. Разделение информации

25. Определение API сервисов

Consumer — проверяет, может ли клиент разместить заказ, и
получает его платежную
информацию.
Restaurant — проверяет позиции заказа, нахождение адреса и
времени доставки
в пределах области обслуживания ресторана и набор
минимальной суммы заказа, а также получает цены на
заказанные блюда.
Kitchen — создает объект Ticket.
Accounting — авторизует банковскую карту клиента.

26. Шаблон «Душитель» (Strangler)

27. Шаблон «Уровень защиты от повреждений» (Anti-Corruption Layer)

English     Русский Правила