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

ITaskReadRepository es la abstracción para consultas de sólo lectura de tareas. More...

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

Public Member Functions

Task< TaskDto?> GetByIdAsync (Guid id, CancellationToken cancellationToken=default)
 

Detailed Description

ITaskReadRepository es la abstracción para consultas de sólo lectura de tareas.

Rol en Clean Architecture:

  • Parte de la capa de aplicación
  • Define contrato para recuperación eficiente de datos de tarea
  • Abstracción de implementación: Interfaz en Núcleo de Aplicación, implementación en Infraestructura
  • Habilita patrón CQRS -CommandQueryResponsibilitySeparation-

Beneficios de Separación de Repositorio de Lectura:

  • Optimizado para rendimiento de lectura -puede usar Dapper, SQL sin procesar, modelos de lectura-
  • Independiente del repositorio de escritura TaskManagement.Application.Interfaces.ITaskRepository
  • Habilita el patrón CQRS para separar lecturas de escrituras
  • Puede desnormalizar datos para eficiencia de consulta
  • Habilita diferentes estrategias de optimización para lecturas vs escrituras

Contraste con TaskManagement.Application.Interfaces.ITaskRepository:

Estrategia de Implementación:

  • Puede implementar utilizando Entity Framework AsNoTracking para eficiencia
  • Puede implementar utilizando Dapper para control SQL detallado
  • Puede consultar tablas o vistas desnormalizadas optimizadas para lectura
  • Devuelve DTOs optimizados para casos de uso de consulta específicos

Definition at line 42 of file ITaskReadRepository.cs.

Member Function Documentation

◆ GetByIdAsync()

Task< TaskDto?> TaskManagement.Application.Interfaces.ITaskReadRepository.GetByIdAsync ( Guid  id,
CancellationToken  cancellationToken = default 
)

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