Связность (как мера независимости или самостоятельности) на уровне методов, характеризует соответствие выполняемых в методе операций единой цели. Некоторые программисты связность, называют – силой метода (strength).
Рекомендуемый вид связности: Функциональная связность – самый сильный вид связности. В этом случае метод выполняет только одну операцию.
Приемлемый вид связности:
- Последовательная связность (sequential cohesion) – вид связности, когда метод содержит наборы операций, которые выполняются в строго определенном порядке, используют данные предыдущих этапов и не формируют в целом единую функцию.
- Коммуникационная связность (communicational cohesion) – вид связности, когда выполняемые в методе операции используют одни и те же данные и не связанны между собой другим образом. В таком случае рекомендуется разделить операции на два метода.
- Временная связность (temporal cohesion) – вид связности, когда метод пытается объединить в себе операции, которые должны выполняться в один интервал времени.
Плохой вид связности:
- Процедурная связность (procedural cohesion) – вид связности, когда операции в методе выполняются в определенном порядке. Для достижения лучшей связности рекомендуется поместить разные операции в отдельные методы.
- Логическая связность (logical cohesion) – вид связности, когда метод включает несколько операций, а выбор операции осуществляется на основании передаваемого в качестве аргумента флага. Вид связности называется логическим, потому что, операции метода объединены только управляющей логикой метода: оператором if или рядом блоков case.
- Случайная связность (coincidental cohesion) – вид связности, когда каких либо отношений между выполняемыми в методе операциями нет. Этот вариант еще называют – «отсутствием связности» или «хаотичной связностью».
Стремитесь создавать методы с функциональной связностью – это возможно почти всегда.