34просмотров
7 января 2026 г.
Score: 37
Про проверки идентификаторов и границы ответственности Иногда встречается подход: если в функцию по сигнатуре приходит id, то его нужно проверить на существование в БД. И так в каждой функции, через которую этот id проходит. Формально логика понятна: функция не знает, валиден ли вход. Но архитектурно это сигнал о другой проблеме - в системе отсутствуют доверенные границы. В любой системе есть: - точки входа, где данные считаются недоверенными и валидируются; - внутренний контур, где действуют инварианты и бизнес-логика работает, опираясь на контракты. Если каждый слой заново проверяет один и тот же id: - растёт количество одинаковых запросов; - сигнатуры функций перестают что-либо гарантировать; - бизнес-логика смешивается с инфраструктурными проверками; - система плохо масштабируется и по сложности, и по нагрузке. Архитектурная альтернатива: - валидировать идентификаторы и доступ один раз на границе сценария (controller / application service); - внутри бизнес-процесса считать: если мы здесь - сущность существует; - по возможности работать с объектами, а не с “сырыми” id; Повторные проверки внутри сценария - это не про надёжность, а про отсутствие договорённостей об ответственности слоёв. Реальная архитектура начинается не с диаграмм, а с ответа на вопрос: где в системе можно доверять данным, а где - нельзя.
34
просмотров
1339
символов
Нет
эмодзи
Нет
медиа

Другие посты @nepodoc

Все посты канала →
Про проверки идентификаторов и границы ответственности Иногд — @nepodoc | PostSniper