Встречается на собеседованиях • сегодня
Что такое unit of work
Unit of Work — это паттерн проектирования, который используется для управления изменениями в бизнес-транзакциях, группируя их в единый атомарный блок. Он отслеживает изменения объектов и фиксирует их в БД одним запросом, обеспечивая согласованность данных.
Пример использования с SQLAlchemy:
python
from sqlalchemy.orm import Session
class UnitOfWork:
def init(self, session: Session):
self.session = session
text
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
if exc_type is None:
self.session.commit()
else:
self.session.rollback()
Использование
with UnitOfWork(session) as uow:
user = User(name="John")
uow.session.add(user)
# Все изменения будут зафиксированы автоматически при успешном завершении блока
text
Ключевые преимущества:
- Контроль над транзакциями
- Избегание частичных обновлений
- Упрощение кода за счет автоматического commit/rollback
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы