Высокое зацепление (High Cohesion) - GRASP
Проблема | Необходимо обеспечить выполнение объектами разнородных функций. |
Решение | Обеспечить распределение обязанностей с высоким зацеплением. |
Пример | Если в примере для паттерна "Низкая связанность", см. на класс "Регистрация" возлагать все новые и новые системные функции, связанные с системными операциями, то данный класс будет слишком перегружен и будет обладать низкой степенью зацепления. Второй рисунок для примера Low Coupling обладает более высоким уровнем зацепления и низким уровнем связывания (он является более предпочтительным). |
Преимущества | Классы с высокой степенью зацепления просты в поддержке и повторном использовании. |
Недостатки | Иногда бывает неоправданно использовать высокое зацепление для распределенных серверных обьектов. В этом случае для обеспечения быстродействия необходимо создать несколько более крупных серверных обьектов со слабым зацеплением. |