Eu tenho uma classe que tem muitos atributos, nem todos eles como obrigatório.
Dependendo do que eu cadastrar, dos atributos que eu inserir dados, ele vai salvar com uma situação que é de preenchimento automatico
eu tenho 5 tipos de situações para este meu objeto
Minha regra de negocio fala que por exemplo:
se campos A,B,C,D estiverem preenchidos &&
se campo C < 100 &&
campo D não estiverem preenchidos
Então situação = situação 1
se campo A,B,C estiverem preenchidos &&
se campo C < 100 &&
campo C,D não estiverem preenchidos
Então situação = situação 2
E assim por diante…
Eu tenho essa regra que verifica os campos preenchido e se atender algumas validações ele seta uma situação(status) apropriada.
Em uma classe especifica para Negocio do caso de uso eu poderia simplemente criar um monte de IFs para resolver este problema.
Eu gostaria de diminuir esse monte de IF, porque if com OO fica feio.
Eu queria aplicar mais o OO
PS: Tentei aplicar o Padrão de Projeto state, porem ele foi descardado pelo fato de, que este padrão parte do pressuposto de que quando alterado uma situação, ele executa um comando especifico para aquela situação
no meu caso eu tenho que apenas validar meus campos se estão preenchidos ou não e setar essa situação automaticamente.
Alguem tem alguma ideia de como resolver este problema, este excesso de if?
alguem tem algum padrão que auxilia nessa regra?
Atenciosamente