A minha ideia é implementar as regras de validação do projeto de tal modo que, as regras já implementadas rodem sobre todas as classes que serão criadas depois, validando-as, sem trabalho adicional por cada classe criada. Assim, eu não preciso criar uma nova implementação de uma regra quando criar uma nova classe que precisa ser validada, nem preciso adicionar em qualquer lugar a informação de que a RegraX deve validar também a ClasseY que acabei de criar.
Então, estou tentando implementar algo como: Crio a RegraX e esta regra irá validar automaticamente todas as Classes que implementarem a InterfaceX; assim, posso ir simplesmente criando novas Classes que implementam a InterfaceX e sei que a RegraX irá - automaticamente - validar cada uma dessas novas Classes toda vez que eu rodar o Projeto.
Como Testes Unitários para validar cada Classe? Se for isso, acho que isso daria bem mais trabalho e facilitaria bugs (se eu esquecer de alguma regra ao criar o Teste).
A ideia é que as Regras de validação não são criadas todas de uma vez, mas, vão sendo adicionadas Regras conforme o design do Projeto vai sendo definido. O ponto é este: me parece mais fácil e rápido criar uma Regra que vai buscar e validar automaticamente todas as Classes que ela deve validar, ao invés de eu ter que criar/adaptar uma Regra-de-Validação para cada nova Classe criada.
Veja que, estou falando de Regras-de-Validação que podem ser aplicadas à inúmeras Classes, e não regras específicas de Classe. Além disso, para Validar se cada Classe que implementa uma InterfaceX possui uma Constante “ID” que deve ter um valor diferente de todas as outras Classes, vou precisar de algum jeito de percorrer todas essas Classes para verificar o valor da Constante “ID” de cada uma.
A solução faz mais sentido agora ou ficou ainda mais esquisita? rsrs
De fato, isto é algo que estou experimentando, mas me parece uma boa ideia.