INTRODUÇÃO · COREeQuantic.CoreA biblioteca eQuantic Core é a base de todo o ecossistema, fornecendo as abstrações essenciais e a funcionalidade de base para construir aplicações robustas e escaláveis.
Visão geral
Implementa os padrões de arquitetura que o resto do ecossistema pressupõe — Domain-Driven Design, Clean Architecture, SOLID — para que um projeto comece a partir de uma forma e não de uma pasta.É a biblioteca mais usada que publicamos, e aquela sobre a qual todos os outros pacotes assentam: interfaces normalizadas para repositórios, serviços e entidades de domínio.
Instalar
shell
dotnet add package eQuantic.Core
O que faz
Abstrações de repositórioInterfaces genéricas de acesso a dados, com CRUD, paginação e especificações combináveis.
Entidades de domínioTipos base para entidades, agregados e objetos de valor, seguindo DDD.
EspecificaçõesO padrão de especificação, para consultas que são complexas uma vez e reutilizáveis depois.
Eventos de domínioUm sistema de eventos para falar entre contextos delimitados, e para efeitos secundários que pertencem fora do agregado.
Objetos de valorTipos base para objetos de valor, com validação e comparação por valor em vez de por referência.
Abstrações de repositórioInterfaces genéricas de acesso a dados, com CRUD, paginação e especificações combináveis.
Entidades de domínioTipos base para entidades, agregados e objetos de valor, seguindo DDD.
EspecificaçõesO padrão de especificação, para consultas que são complexas uma vez e reutilizáveis depois.
Eventos de domínioUm sistema de eventos para falar entre contextos delimitados, e para efeitos secundários que pertencem fora do agregado.
Objetos de valorTipos base para objetos de valor, com validação e comparação por valor em vez de por referência.
Início rápido
Configuração inicial — Registe os serviços do núcleo no seu projeto.
C#
public void ConfigureServices(IServiceCollection services){ services.AddEQuantic() .AddDataAccess() .AddRepositories();}
Definir uma entidade — Os seus tipos de domínio herdam a base, que lhes dá identidade e um buffer de eventos.
C#
public class Product : Entity<int>{ public string Name { get; private set; } public decimal Price { get; private set; } public Product(string name, decimal price) { Name = name; Price = price; } public void UpdatePrice(decimal newPrice) { Price = newPrice; AddDomainEvent(new PriceUpdatedEvent(Id, newPrice)); }}
Usar um repositório — Receba a interface, não a implementação — e passe uma especificação em vez de escrever a consulta duas vezes.
C#
public class ProductService{ private readonly IRepository<Product> _repository; public ProductService(IRepository<Product> repository) { _repository = repository; } public async Task<Product> GetByIdAsync(int id) { return await _repository.GetByIdAsync(id); } public async Task<IEnumerable<Product>> GetActiveProductsAsync() { var spec = new ActiveProductsSpecification(); return await _repository.GetAsync(spec); }}
Superfície pública
NAMESPACE
SUPERFÍCIE PÚBLICA
IRepository<T>
O contrato genérico de repositório, com as operações CRUD básicas.
Entity<TKey>
A classe base de uma entidade de domínio com chave tipada.
ISpecification<T>
O contrato para implementar o padrão de especificação.
Prefere ler código?
Todos os pacotes são MIT e públicos, e os exemplos são para copiar e colar.
Pronto para entregar algo de verdade?
Agende 30 minutos de conversa. Dizemos na mesma hora se somos o parceiro certo — ou quem é.
Pronto para entregar algo de verdade?
Agende 30 minutos de conversa. Dizemos na mesma hora se somos o parceiro certo — ou quem é.
© 2026 eQuantic Tech. Todos os direitos reservados.