-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
architectureAlteração na arquiteturaAlteração na arquiteturaenhancementNew feature or requestNew feature or request
Description
Título: Implementar padrão Repository completo com Specification Pattern
Labels: enhancement, architecture, clean-architecture
Descrição:
Melhorar abstrações de repositório usando Specification Pattern.
Solução Proposta:
// CORE - Specification Pattern
public interface Specification<T> {
boolean isSatisfiedBy(T candidate);
Specification<T> and(Specification<T> other);
Specification<T> or(Specification<T> other);
}
// CORE - Repository melhorado
public interface WalletRepository {
void store(Wallet wallet);
Optional<Wallet> findById(WalletId id);
List<Wallet> findBySpecification(Specification<Wallet> spec);
}Tarefas:
- Implementar Specification Pattern no Core
- Criar specifications comuns (ByUserId, ByDateRange, etc.)
- Refatorar repositories para usar Specification
- Implementar tradutor de Specification para queries MongoDB
Metadata
Metadata
Assignees
Labels
architectureAlteração na arquiteturaAlteração na arquiteturaenhancementNew feature or requestNew feature or request