Почему низкая связь желательна в контексте разработки программного обеспечения?
Почему низкая связь желательна в контексте разработки программного обеспечения?

Видео: Почему низкая связь желательна в контексте разработки программного обеспечения?

Видео: Почему низкая связь желательна в контексте разработки программного обеспечения?
Видео: [Методы разработки программного обеспечения]: Верификация и валидация 2024, Май
Anonim

Высокая сплоченность тесно связана с принципом единой ответственности. Низкое сцепление предполагаем, что у класса должно быть наименьшее количество возможных зависимостей. Кроме того, зависимости, которые должны существовать, должны быть слабый зависимости - предпочитают зависимость от интерфейса, а не зависимость от конкретного класса, или предпочитают композицию наследованию.

Поэтому почему желательны высокая когезия и низкая связь?

Связь мера взаимозависимости между классами. Высокая сплоченность является желательно потому что это означает, что класс хорошо выполняет одну работу. Низкое сцепление плохо, потому что указывает на то, что в классе есть элементы, которые мало связаны друг с другом.

Точно так же, почему желательна высокая сплоченность в контексте разработки программного обеспечения? Преимущества высокая сплоченность (или "сильный сплоченность "): Уменьшение сложности модуля (они более простые, с меньшим количеством операций). Повышенная ремонтопригодность системы, потому что логические изменения в домене влияют на меньшее количество модулей, и потому что изменения в одном модуле требуют меньшего количества изменений в других модулях.

Люди также спрашивают, как получить низкое сцепление?

Низкое сцепление может быть достигнуто за счет меньшего количества классов, связанных друг с другом. Самый лучший способ уменьшить сцепление заключается в предоставлении API (интерфейса).

Какие слабые места у связывания данных?

А слабость связи данных is: может быть сложно поддерживать модуль, если многие данные элементы передаются. Слишком много параметров также может указывать на то, что модуль был плохо разбит на разделы.

Рекомендуемые: