Модель C4 - это подход к созданию архитектурных диаграмм ПО, созданный Саймоном Брауном (ссыль наТвиттерпростите, на X).
У нее есть свой сайт - https://c4model.com/ (скорее всего потребуется VPN).
На текущий момент Саймон является независимым консультантом, специализирующимся на вопросах архитектуры ПО.
Он провел множество воркшопов по проектированию архитектуры, где, в том числе, просил создавать архитектурные диаграммы. В процессе он выявил ряд проблем:
🟢смешение уровней абстракций (на одной диаграмме могли встречаться и бизнес-сущности, и блоки кода)
🟢отсутствие связи бизнес-контекста с кодом (совершенно не понятно, почему была выбрана нарисованная архитектура, как она связана с бизнес-смыслами)
🟢малоинформативность диаграмм (как Саймон сам их называет, диаграммы представляли собой boxes and lines, на которых через время уже абсолютно не понятно, что хотел сказать автор).
Это не исчерпывающий список, но он уже поможет понять, почему C4 была создана такой какой и больше никакой 🙂
Собственно, сейчас модель C4 включает в себя следующее:
1️⃣ Набор иерархических абстракций (программная система, контейнер, компонент, код)
2️⃣ Набор иерархических диаграмм (системного контекста, контейнеров, компонентов, кода)
3️⃣ Набор вспомогательных диаграмм (системного ландшафта, динамическая, развертывания)
Плюсом к перечисленному - модель независима от нотаций и инструментов моделирования.
Важно: модель создавалась разработчиком для разработчиков. Никто не рассчитывал, что придут какие-то аналитики, заценят штуку и начнут ее использовать.
Поэтому для "честной" C4 нужны некоторые знания, которые ближе к разработке.
В течение недели мы разберем пункты 1 и 2.
А потом я опубликую материалы где разобрано всё :D Но посты продолжат выходить, пока не разберем все до конца ❤️