Вот мои мысли о сплоченности. Представь, что есть модуль. Внутри этого модуля у нас есть несколько задач. Когда эти задачи тесно связаны друг с другом, мы говорим, что у них высокая сплоченность. Когда эти задачи не связаны, мы говорим, что у них низкая сплоченность. Моя лучшая попытка объяснить разъединение состоит в том, что разъединение - это акт устранения связи.
Low Coupling помогает нам достичь высокой степени сцепления! Помните, что мы хотим, чтобы наш модуль имел связанные задачи и одну ответственность. Но что такое связь? Связь - это степень зависимости от других модулей для достижения нашей единственной ответственности за этот модуль. Таким образом, из-за слабой связи мы говорим, что мы не очень зависимы от внешних модулей, следовательно, у нас высокая когезия.
Однако, если у нас много зависимостей от внешних модулей, у нас будет высокая связь и низкая когезия. Получите это?
Другие более украшенные мыслители и группы говорят:
Сплоченность - это степень, в которой задачи, выполняемые одним модулем, функционально связаны. "IEEE, 1983" Сплоченность - это "клей", который удерживает модуль вместе. Его можно рассматривать как тип связи между компонентами модуля. Как правило, каждый хочет наивысшего уровня сплоченности возможно ". Бергланд, 1981
Считается, что программный компонент демонстрирует высокую степень сцепления, если элементы в этом блоке демонстрируют высокую степень функциональной связанности. Это означает, что каждый элемент в программном блоке должен быть необходим для достижения этой цели. Соммервиль, 1989