A Domain Driven shared library, containing basic components for setting up a domain. This package contains interfaces needed to implement various services within this framework.
$ dotnet add package EXCSLA.Shared.Core.AbstractionsCore abstractions and interfaces for the EXCSLA Domain-Driven Design framework.
This package provides the foundational abstractions for building applications using Domain-Driven Design patterns. It includes repository patterns, specifications, email services, and domain event handling interfaces.
dotnet add package EXCSLA.Shared.Core.Abstractions
public interface IAsyncRepository<T> where T : class
{
Task<T?> GetByIdAsync(object id);
Task<IEnumerable<T>> ListAsync();
Task<IEnumerable<T>> ListAsync(ISpecification<T> spec);
Task<T> AddAsync(T entity);
Task UpdateAsync(T entity);
Task DeleteAsync(T entity);
Task<int> CountAsync(ISpecification<T> spec);
Task<bool> AnyAsync(ISpecification<T> spec);
}
public interface IEmailSender
{
Task SendEmailAsync(string email, string subject, string message);
}
See LICENSE file in repository
For issues and questions, visit the GitHub repository