TGViewer
Аналитик на коне Аналитик на коне @equestrian_analyst · 179 subscribers
Post #118 165
#5 C4: взаимодействия
Взаимодействия - это те самые стрелки между элементами.

Обсудим, как они должны выглядеть, сколько их должно быть между элементами и что же на них написать.


1️⃣ Что мне написать на стрелке?

Вот тут есть ответ Саймона Брауна на эту тему.

Он говорит, что, отразить ли на стрелках:
🟡 зависимости (использует ..., читает ..., обращается... и т.п.)
ИЛИ
🟡потоки данных (события обновления..., информация о... и т.п.)
- это только ваш выбор.

Главное, чтобы текст соответствовал направлению стрелки. Чтобы понять это направление, удобно использовать предлоги, сравните:
"выполняет API-запросы" ▶️ "выполняет API-запросы к"

Правда, становится намного более понятно, в какую сторону нарисовать стрелку?
В одном из своих материалов он также говорит, что полезно прочитать свой текст вслух, чтобы оценить корректность.

Избегайте абстрактных формулировок: "использует" и подобных. Да, у Саймона в презентациях много таких. Но он всегда подчеркивает, что это только потому, что диаграммы для презентации :D

У контейнеров - указываем технологии взаимодействия, можно указать протоколы, сетевые порты, тип коммуникации (синхронный/асинхронный).
У компонентов - можно указать дополнительно тип коммуникации.


2️⃣ Сколько стрелок должно быть между элементами?

Главная идея - никаких ограничений на количество стрелок между элементами нет.

При этом Саймон Браун отмечает, что большинство взаимодействий подразумевают запрос и ответ на этот запрос. Он предлагает выбрать только одно основное направление (сам он предпочитает направление от инициатора к ответчику).

Когда же у меня тогда будет несколько стрелок? Когда вы захотите 🙂 Как пример - если у вас есть несколько взаимодействий с разными технологиями (REST и обмен сообщениями, например) - это две полноценные стрелки. Да даже запрос с ответом можно нарисовать, если хочется.


3️⃣ А как стрелки должны выглядеть?

....как вы хотите 😏

Они не обязаны быть пунктирными и серыми - можно использовать любые цвета и типы линий / наконечников (привет, UML).

Более того, можно вложить в это дополнительные смыслы - одним цветом, к примеру, рисовать взаимодействия по HTTP, а другим - по HTTPS. Главное, не забыть пояснить это потенциальному пользователю диаграммы, например, в легенде, о которой мы поговорим завтра 💙

- - - - - - - - -
P.S. В материале этому посвящен раздел на стр.20, а также отдельно немного про взаимодействия в разделах про диаграммы
  • ❤ 4
  • 🙏 1
More from @equestrian_analyst
  1. Aug 18, 2026День почти закончился, но грех не запостить про... день рождения 🦄 Да, сегодня мне стукну…
  2. Aug 14, 2026Новая книга по C4: финальное summary, часть 2 Продолжение вчерашнего поста про новую книгу…
  3. Aug 13, 2026Новая книга по C4: финальное summary, часть 1 Дочитала новую книгу Брауна. Что могу сказат…
  4. Aug 5, 2026ИИ-агенты и автономность: кейс AISI с атакой на реальные проекты Я профукала момент, чтобы…
  5. Jul 14, 2026Post #141
  6. Jul 8, 2026И немного про ближайшее будущее Что я предполагаю тут постить в ближайшее время: ▶️Ожидает…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →