Muito bacana essa visão sobre regras que podem mudar ao longo do tempo! Uma outra situação em que eu considero usar specifications, é quando determinada regra de domínio necessita ser utilizada em mais de um componente da base de código. Por exemplo, se ela é necessária para aplicar um filtro no banco de dados, e também para validar uma informação vinda de fora da aplicação. Desta forma, reduzimos a duplicidade de conhecimento de domínio e, consequentemente, o risco de apenas um desses componentes ser alterado caso a regra do negócio se altere, causando um bug.
Segunda vez que estou vendo esse vídeo. E, novamente, aprendo cada vez mais quando revejo os vídeo do Elemar Jr. Muito Obrigado por compartilhar esse conhecimento tão poderoso. Tenho usado Specification em projetos nas empresas que tenho trabalho. Tenho algumas dúvida, tentarei ser o mais exato e cirúrgico: 1. Eu devo validar uma quantidade mínima de propriedade no construtor? 2. Devo só usar Specification e não usar validações mínimas no construtor? 3. Devo mesclar tanto validações de uma quantidade de propriedades mínimas no construtor (fazendo aquelas validações se um campo não é nulo; se um certo número não é negativo; etc) quanto usar Specification para diferentes cenários no meu negócio?
Muito bacana essa visão sobre regras que podem mudar ao longo do tempo!
Uma outra situação em que eu considero usar specifications, é quando determinada regra de domínio necessita ser utilizada em mais de um componente da base de código. Por exemplo, se ela é necessária para aplicar um filtro no banco de dados, e também para validar uma informação vinda de fora da aplicação.
Desta forma, reduzimos a duplicidade de conhecimento de domínio e, consequentemente, o risco de apenas um desses componentes ser alterado caso a regra do negócio se altere, causando um bug.
Segunda vez que estou vendo esse vídeo. E, novamente, aprendo cada vez mais quando revejo os vídeo do Elemar Jr. Muito Obrigado por compartilhar esse conhecimento tão poderoso. Tenho usado Specification em projetos nas empresas que tenho trabalho.
Tenho algumas dúvida, tentarei ser o mais exato e cirúrgico:
1. Eu devo validar uma quantidade mínima de propriedade no construtor?
2. Devo só usar Specification e não usar validações mínimas no construtor?
3. Devo mesclar tanto validações de uma quantidade de propriedades mínimas no construtor (fazendo aquelas validações se um campo não é nulo; se um certo número não é negativo; etc) quanto usar Specification para diferentes cenários no meu negócio?