Проектирование новой системы
Модули, уровни API, данные и способ взаимодействия между частями.
Архитектура программного обеспечения
Я проектирую границы системы так, чтобы дальнейшая разработка была понятной, проверяемой и соразмерной реальным потребностям.
Обсудить архитектуру →Когда система перерастает первоначальный проект
Архитектура — это не диаграмма для документации. Это соглашение об ответственности, данных и границах интеграции, которое помогает принимать последующие решения.
Объём работы определяется конкретной системой, а не универсальным шаблоном.
Модули, уровни API, данные и способ взаимодействия между частями.
Зависимости, технический долг и области, в которых изменения распространяются слишком далеко.
Модуляризация, проектирование базы данных, компоненты реального времени и внешние сервисы.
Чёткие границы позволяют развивать части системы, не затрагивая при каждом изменении всё остальное.
Браузер ↓ Приложение ├── API ├── База данных ├── Реальное время ├── Фоновые задачи └── Внешние сервисы
Способ сотрудничества
Когда система перерастает первоначальный проект
Архитектура — это не диаграмма для документации. Это соглашение об ответственности, данных и границах интеграции, которое помогает принимать последующие решения.
Модельный пример
Цель не в том, чтобы разделить всё сразу, а в том, чтобы найти части, которым в первую очередь нужна собственная ответственность.
Растущий монолит
↓
Анализ архитектуры
↓
Чёткие границы модулей
↓
Независимые API и задачи
↓
Контролируемая дальнейшая разработкаНачнём с системы, решения или риска, который сегодня больше всего тормозит разработку.