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

Что такое связанность компонентов

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

Типы связанности (от худшего к лучшему):

  1. Content coupling — один компонент напрямую изменяет данные другого.
  2. Control coupling — один компонент управляет логикой другого (например, через флаги).
  3. Data coupling — компоненты обмениваются только данными (идеальный вариант).

Пример плохой связанности:

python
class A:
    def __init__(self):
        self.data = []

class B:
    def modify_a(self, a: A):
        a.data.append(1)  # Прямое изменение данных класса A

Пример хорошей связанности:

python
class A:
    def __init__(self):
        self.data = []

    def add_data(self, value):  # Инкапсуляция логики
        self.data.append(value)

class B:
    def process(self, a: A, value):
        a.add_data(value)  # Взаимодействие через метод

Низкая связанность улучшает поддерживаемость и гибкость кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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