Взаимодействия - это те самые стрелки между элементами.
Обсудим, как они должны выглядеть, сколько их должно быть между элементами и что же на них написать.
1️⃣ Что мне написать на стрелке?
Вот тут есть ответ Саймона Брауна на эту тему.
Он говорит, что, отразить ли на стрелках:
🟡 зависимости (использует ..., читает ..., обращается... и т.п.)
ИЛИ
🟡потоки данных (события обновления..., информация о... и т.п.)
- это только ваш выбор.
Главное, чтобы текст соответствовал направлению стрелки. Чтобы понять это направление, удобно использовать предлоги, сравните:
"выполняет API-запросы" ▶️ "выполняет API-запросы к"
Правда, становится намного более понятно, в какую сторону нарисовать стрелку?
В одном из своих материалов он также говорит, что полезно прочитать свой текст вслух, чтобы оценить корректность.
Избегайте абстрактных формулировок: "использует" и подобных. Да, у Саймона в презентациях много таких. Но он всегда подчеркивает, что это только потому, что диаграммы для презентации :D
У контейнеров - указываем технологии взаимодействия, можно указать протоколы, сетевые порты, тип коммуникации (синхронный/асинхронный).
У компонентов - можно указать дополнительно тип коммуникации.
2️⃣ Сколько стрелок должно быть между элементами?
Главная идея - никаких ограничений на количество стрелок между элементами нет.
При этом Саймон Браун отмечает, что большинство взаимодействий подразумевают запрос и ответ на этот запрос. Он предлагает выбрать только одно основное направление (сам он предпочитает направление от инициатора к ответчику).
Когда же у меня тогда будет несколько стрелок? Когда вы захотите 🙂 Как пример - если у вас есть несколько взаимодействий с разными технологиями (REST и обмен сообщениями, например) - это две полноценные стрелки. Да даже запрос с ответом можно нарисовать, если хочется.
3️⃣ А как стрелки должны выглядеть?
....как вы хотите 😏
Они не обязаны быть пунктирными и серыми - можно использовать любые цвета и типы линий / наконечников
Более того, можно вложить в это дополнительные смыслы - одним цветом, к примеру, рисовать взаимодействия по HTTP, а другим - по HTTPS. Главное, не забыть пояснить это потенциальному пользователю диаграммы, например, в легенде, о которой мы поговорим завтра 💙
- - - - - - - - -
P.S. В материале этому посвящен раздел на стр.20, а также отдельно немного про взаимодействия в разделах про диаграммы
