Обзор паттернов проектирования

       

Высокое зацепление (High Cohesion) - GRASP


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



Содержание раздела