Value Object
Overview
Aplicar o padrão de Value Object do projeto, garantindo imutabilidade, validação de invariantes, normalização de dados e a interface create/tryCreate com Result.
Guidelines
- Ler
references/vo-pattern.mdantes de criar ou modificar VOs. - Reutilizar o padrão existente de
ValueObject,ResulteValueObjectConfig. - Preferir validações explícitas com códigos de erro estáticos (ex.:
INVALID_EMAIL). - Expor métodos auxiliares apenas quando agregam valor (ex.: getters derivados).
Workflow
- Identificar o tipo base do VO (string, number, etc.) e invariantes.
- Verificar VOs existentes para evitar duplicação ou para alinhar regras.
- Implementar o VO seguindo o esqueleto padrão (ver referência).
- Adicionar testes em
packages/shared/test/voespelhando os casos da referência. - Revisar a API pública para manter consistência (
create,tryCreate, erros).
References
Consultar references/vo-pattern.md para padrões, exemplos e caminhos relevantes do projeto.
Consultar ../skills-standards.md para convenção global de nomenclatura.
Global Standards
- Consultar
../skills-standards.mdpara padroes globais de nomenclatura e convencoes gerais entre skills.