$mermaidjs
Clean Architecture Demo
Loading...
Searching...
No Matches
TaskManagement.Application.Interfaces.IUnitOfWork Interface Reference

IUnitOfWork es la abstracción para coordinar la persistencia de cambios de entidades. More...

Inheritance diagram for TaskManagement.Application.Interfaces.IUnitOfWork:
Collaboration diagram for TaskManagement.Application.Interfaces.IUnitOfWork:

Public Member Functions

Task< int > SaveChangesAsync (CancellationToken cancellationToken=default)
 

Detailed Description

IUnitOfWork es la abstracción para coordinar la persistencia de cambios de entidades.

Rol en Clean Architecture:

  • Parte de la capa de aplicación
  • Define contrato para guardar cambios en almacén de persistencia
  • Abstracción de implementación: Interfaz en Núcleo de Aplicación, implementación en Infraestructura
  • Inversión de dependencia: La aplicación depende de interfaz, no de tecnología de persistencia concreta

Beneficios del patrón Unit of Work:

  • Coordina cambios de múltiples repositorios en una sola transacción atómica
  • Asegura persistencia de todo o nada: todos los cambios tienen éxito o todos se revierten
  • Mantiene consistencia en múltiples agregados del dominio
  • Abstrae gestión de transacción de base de datos del código de aplicación

Uso Típico:

  • Después de modificar entidades del dominio a través de repositorios
  • Antes de ejecutar eventos del dominio que dependen de persistencia exitosa
  • Los servicios de aplicación llaman a SaveChangesAsync después de coordinar operaciones del dominio

En esta implementación:

  • TaskDbContext implementa tanto DbContext como IUnitOfWork
  • IUnitOfWork.SaveChangesAsync envuelve Entity Framework.

Definition at line 36 of file IUnitOfWork.cs.

Member Function Documentation

◆ SaveChangesAsync()

Task< int > TaskManagement.Application.Interfaces.IUnitOfWork.SaveChangesAsync ( CancellationToken  cancellationToken = default)

The documentation for this interface was generated from the following file: