Низкая связанность (Low Coupling)¶
Low Coupling требует уменьшать количество и жесткость зависимостей между частями системы.
Опора на ООП¶
Low Coupling опирается на интерфейсы, композицию и инкапсуляцию: модуль зависит от контракта, а не от устройства конкретной реализации.
Что показывает пример на 1С¶
PaymentServiceзависит от абстрактного шлюза оплаты.- Конкретный
BankGatewayподставляется снаружи. - Сервис не вшивает внутрь себя детали конкретного банка или API.
Пример¶
Где полезен в 1С¶
- при интеграции с банками, API, внешними сервисами и обменами;
- когда реализация инфраструктуры может меняться;
- когда модуль хочется тестировать и заменять без каскадных правок.
Когда принцип применяют неправильно¶
- когда интерфейсы вводятся "на всякий случай" без реальной точки изменения;
- когда низкая связанность покупается ценой чрезмерной фрагментации;
- когда ради отвязки скрывается важный смысл предметной области.