DCI (Data-Context-Interaction) — это паттерн проектирования, который разделяет бизнес-логику на три составляющие: Данные (Data), Контекст (Context) и Взаимодействие (Interaction), чтобы улучшить читаемость и поддерживаемость ООП-кода, особенно при работе с изменяющимися требованиями.
Главная идея DCI — сделать намерения разработчика, связанные с выполнением конкретного сценария использования, явными в коде. Бизнес-логика не привязана жестко к классам данных, что позволяет одному и тому же объекту играть разные роли в разных сценариях.
Преимущества:
Пример концепции: Объект Аккаунт может играть роль Источник при переводе денег и роль Получатель при зачислении. Логика перевода (вычесть из источника, добавить получателю) находится в контексте перевода, а не жестко внутри класса Аккаунт.
javascript
Хотя DCI не является общепринятым или широко используемым в стандартных фронтенд-фреймворках, его принципы могут быть полезны при структурировании сложной бизнес-логики, отделяя ее от простых объектов данных.