TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Системный Аналитик

19 Mar, 18:31

Open in Telegram Share Report

👍 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. Онлайн пример построения

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

➿➿➿➿➿➿➿➿
🧑‍🎓 Больше полезного в базе знаний по системному анализу

7.9k 0 155 38
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot