CRUD: Атомарная логика любой системы
Если вы в индустрии хотя бы пару месяцев, то аббревиатура CRUD наверняка вам попадалась на глаза. Это как фундаментальная физика, только для данных.
💡 Любое приложение, каким бы сложным оно ни казалось на уровне интерфейса (Frontend), под капотом (на уровне Backend и БД) занимается простыми манипуляциями.
Что такое CRUD?
CRUD — это акроним: Create (Создание), Read (Чтение), Update (Обновление) и Delete (Удаление). Это четыре столпа, на которых держится Persistence Layer — слой постоянного хранения данных.
Представьте систему как гигантский логистический хаб. Чтобы он функционировал, нам нужно всего четыре типа базовых операций:
1. Принять новый груз на склад (Create).
2. Найти и осмотреть груз на полке (Read).
3. Переупаковать или изменить данные в накладной (Update).
4. Утилизировать груз или вывезти его со склада (Delete).
Как это выглядит в коде и архитектуре
В среде разработчиков популярен термин «крудошлёп» — так иронично называют тех, кто пишет типовой код для этих четырех операций. И действительно, на первый взгляд может показаться, что работа бэкенд-инженера сводится к банальной трансляции запросов из API в базу данных.
Но дьявол в деталях. Любое действие пользователя декомпозируется на CRUD-операции:
- Лайк под постом: Это запрос на Create записи в таблице с лайками.
- Лента Shorts: Это бесконечный Read из базы с применением фильтров и алгоритмов ранжирования.
- Редактирование профиля: Это типичный Update.
- Отмена подписки: Это Delete связи между вашим аккаунтом и аккаунтом другого пользователя.
Настоящий инженер проектирует жизненный цикл сущности. Часто одно действие в интерфейсе запускает целый каскад операций. Например, когда вы нажимаете «Оформить заказ», система делает Create для заказа, Update для остатков товара на складе и Read для проверки вашего баланса.
От «функций» к «состояниям»
Разница между пользователем и инженером в том, как они видят систему. Пользователь видит «фичу»(заказ, перевод, регистрацию), а инженер видит State Management (Управление состоянием).
Любая сложная бизнес-логика — это просто наслоение CRUD-операций.
Если вы понимаете этот паттерн, вы можете декомпозировать любую задачу. Вместо того чтобы пугаться требования «сделай систему бронирования отелей», вы разбиваете её на сущности (Отель, Номер, Бронь, Клиент) и для каждой проектируете свой CRUD-цикл.
Если что-то всё ещё звучит запутанно — пиши вопросы в комментах, я обязательно отвечу. А если всё разложилось по полочкам — ставь 🔥, так я пойму, что пост был полезен
10МДК
Post #17
155

- ❤ 7
- 🔥 7