Связывание определяется как знание одного объекта о другом, которое описывает, насколько они зависимы. Чем больше зависимость, тем хуже, так как изменения в одном повлияют на второй. Существуют различные типы муфт:
http://www.principles-wiki.net/principles:low_coupling
Предположим, мы говорим о соединении вызовов.
В Java, когда A создает объект B и вызывает один из его методов, говорят, что он тесно связан. Но если мы создадим интерфейс IB, используемый из A, где B реализует IB, говорят, что он слабо связан. Я не понимаю, почему, поскольку одно изменение в интерфейсе повлияет на A и B. И одно изменение в B повлияет на IB и A. Они все еще кажутся зависимыми от вызова.
То же самое относится и к шаблону проектирования Facade GoF. Говорят, что это способствует низкой связанности, поскольку мы помещаем посредника между подсистемой и клиентским кодом. В данном случае похоже, что мы перенесли проблему из клиентского кода в Фасад. Так как изменение подсистемы повлияет на Фасад, а не на клиентский код. Клиентский код больше не связан с подсистемой, в отличие от Фасада.
Я не вижу, как связь уменьшается.