Встречается на собеседованиях • сегодня

Что такое Coupling

Coupling (связность) — это мера зависимости между модулями или компонентами системы. Чем выше связность, тем сильнее модули зависят друг от друга, что усложняет поддержку и тестирование.

Типы связности:

  • Слабая (Low Coupling): Модули независимы, изменения в одном не затрагивают другие. Идеальный вариант.
  • Сильная (High Coupling): Модули тесно связаны, изменение одного требует изменений в других.

Пример:

javascript
// High Coupling (плохо)
class Order {
  calculateTotal() {
    const tax = new TaxCalculator().calculate(this); // Жёсткая зависимость
    return this.items.reduce((sum, item) => sum + item.price, 0) + tax;
  }
}

// Low Coupling (лучше)
class Order {
  constructor(taxCalculator) {
    this.taxCalculator = taxCalculator; // Внедрение зависимости
  }
  calculateTotal() {
    const tax = this.taxCalculator.calculate(this);
    return this.items.reduce((sum, item) => sum + item.price, 0) + tax;
  }
}

Как уменьшить coupling:

  • Использовать Dependency Injection.
  • Применять принцип "Инверсии зависимостей" (DIP).
  • Разделять интерфейсы (ISP).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы