Чем меньше модули знают друг о друге, тем лучше

Сложные бизнес-системы порой "вынуждают" разработчиков создавать кашу не только в своих головах, но и в среде разработки проекта.

Поэтому крайне важно продумывать архитектуру заранее, особенно момент со связанностью.

📦 1. Что такое связанность (coupling) компонентов

Связанность показывает, как сильно один компонент зависит от другого. Если компоненты — это актёры в пьесе, то при низкой связанности каждый знает только свою роль. А при высокой — все зависят от реплик друг друга. Один забудет текст — и сцена рушится.

💣 2. Высокая связанность = паста Карбонара

Когда компонент:

  • напрямую меняет данные другого,
  • вызывает его методы,
  • знает кучу деталей про "соседа",

то получается каша: поменяешь что-то одно — и всё ломается. Пример: компонент A управляет логикой, отображением, состоянием, картой, формами и ошибками в одном файле. Это уже не компонент, а спагетти-монстр.

🧩 3. Низкая связанность

Хорошо, когда:

  • компонент работает сам по себе;
  • получает данные через props;
  • отдает результат через emit или события;
  • не знает, откуда пришли данные и кто их дальше использует.

Это как кубики LEGO: легко заменить или переиспользовать.

🛠 4. Почему важно снижать связанность

  • проще тестировать: меньше зависимостей;
  • легче поддерживать: можно менять одно, не боясь сломать другое;
  • легче читать: каждый кусок отвечает за что-то одно.

✂️ 5. Что делать, если всё связано

Если в коде мешанина:

  • вынеси логику в отдельные composables или store;
  • разбей компонент на подкомпоненты;
  • перестань передавать всё подряд: давай компоненту только то, что нужно.

В общем. Чем меньше компонент знает о других — тем он надёжнее. Пишем не театральную пьесу, пишем LEGO.

Чем меньше модули знают друг о друге, тем лучше
Сложные бизнес-системы порой "вынуждают" разработчиков создавать кашу не только в своих головах, но и в среде разработки проекта | Сетка — социальная сеть от hh.ru Чем меньше модули знают друг о друге, тем лучше
Сложные бизнес-системы порой "вынуждают" разработчиков создавать кашу не только в своих головах, но и в среде разработки проекта | Сетка — социальная сеть от hh.ru