Boa tarde,
Atualmente estou com um problema no trabalho e não gostaria de resolver da forma fácil, que seria adicionar dois IF's. Estou tentando solucionar usando o Observer como foi mostrado no curso, mas não achei que ficou interessante. O problema é o seguinte, se o retorno do banco for um enum específico, faço duas ações, se for outro enum, faço outras duas ações e assim por diante. Pensei em criar uma interface que representaria o tipo de ação e depois criar classes que implementem essa interface e executem as ações necessárias. A minha dúvida é, o observer é o melhor nessa situação? Reparei que esse tipo de problema ocorre muito no meu sistema atual.
Exemplo:
ENUMQUALQUER retornoDoBanco = buscaDadoClienteXYZ()
if (retornoDoBanco == ENUM.TIPO1) {
//acao1 - retorna uma mensagem especifica
//acao2 - apaga os dados na tela
//acao3 -
}
if (retornoDoBanco == ENUM.TIPO2) {
//acao1 - retorna uma mensagem especifica
//acao2 - apaga os dados na tela
//acao3 - outra ação que possa ser adicionada pelo tipo do enum
}