Встречается на собеседованиях • сегодня

Что такое 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
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы