TGViewer
Системный Аналитик Системный Аналитик @sys_sa · 19.1K subscribers
Post #722 14.1K
👍 LikeC4

LikeC4 — open-source инструмент моделирования архитектуры в нотации C4

Используется подход Architecture as Code — архитектура системы описывается на простом декларативном языке (DSL)

Выполняет задачи:
💙 хранение архитектурной модели системы в репозитории
💙 авто-генерация диаграмм при изменении модели

Это помогает поддерживать архитектурную документацию в актуальном состоянии

LikeC4 позволяет описывать элементы архитектуры:
💙системы
💙контейнеры
💙компоненты
💙связи между ними

На основе этого описания автоматически создаются архитектурные диаграммы


Как работает?


Описывается архитектура в двух блоках:

🟡модель (Model): определение сущностей (люди, системы, контейнеры) и связей между ними
🟡представления (Views): описание того, какие диаграммы нужно сгенерировать из модели

По шагам

1️⃣Архитектура системы описывается с помощью DSL-языка. Описание включает:
➖ участников системы
➖сервисы, БД
➖взаимодействия между ними

2️⃣LikeC4 анализирует DSL-описание и формирует архитектурную модель системы, которая содержит:

🟣элементы архитектуры
🟣связи между ними
🟣структуру системы

3️⃣ На основе модели автоматически создаются архитектурные диаграммы:

➖контекст системы
➖контейнерная архитектура
➖компонентная структура

❗️Если архитектура системы изменяется, меняется DSL-описание. Все диаграммы автоматически обновляются
Нет дублирования данных


Пример описания архитектуры (через DSL)

Упрощенная модель веб-приложения:
model {
user = person "User"

system webApp "Web Application" {
container frontend "Frontend"
container backend "Backend"
container database "Database"
}

user -> webApp.frontend "uses"
webApp.frontend -> webApp.backend "API"
webApp.backend -> webApp.database "reads/writes"
}


В этом примере:

💙определён пользователь системы
💙описана система Web Application
💙указаны контейнеры системы
💙заданы связи между элементами


Пример описания представления (Views)
views {

view container webApp {
title "Web Application Containers"
include
}
}

Этот блок определяет, какую диаграмму нужно построить из архитектурной модели

В данном случае генерируется контейнерная диаграмма системы


Плюсы и минусы

➖архитектурная модель - часть исходного кода проекта
➖диаграммы всегда соответствуют архитектурной модели
➖напрямую использует принципы модели C4, упрощает архитектурное моделирование
➖подходит для сложных систем, удобен для микросервисных архитектур, распределённых систем, крупных платформенных решений


➖необходимо знать синтаксис DSL
➖диаграммы нельзя редактировать напрямую мышью, только через код
➖относительно новая технология, мало примеров использования, обучающих материалов, меньше интеграций.
➖только диаграммы (нет встроенной документации/ADR, как в Structurizr)


Инструменты и интеграции

LikeC4 обычно используется вместе с:

💙Visual Studio Code — редактор с поддержкой DSL
💙Node.js — среда выполнения CLI
💙 Docker — запуск без локальной установки


📎 Материалы

1. Официальный сайт
2. Онлайн пример построения

#инструменты

➿➿➿➿➿➿➿➿
🧑‍🎓 Больше полезного в базе знаний по системному анализу
  • ❤ 27
  • 👍 12
  • 🔥 6
More from @sys_sa
  1. Sep 26, 2026Как облегчить работу ИТ-аналитика уже сейчас — без долгосрочных перестроек процессов? Обсу…
  2. Sep 24, 2026️️️️️️️️📚Курс: «Системный аналитик. Экспертный уровень». За 146 часов обучения получите а…
  3. Aug 28, 2026❓ ICAM (Incident Cause Analysis Method) ICAM (Incident Cause Analysis Method) — метод разб…
  4. Aug 19, 2026🖥 NewSQL NewSQL — класс реляционных СУБД, который совмещает привычный SQL и строгие ACID…
  5. Jul 14, 2026🔼 Server Driven UI (SDUI) Server Driven UI (SDUI) — архитектурный подход, при котором сер…
  6. Jul 7, 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 →