Hej! Chciałbym was spytać czy jest jakiś wzorzec który pomógłby wyczyścić taką ifologię jak poniżej? Napisałem interfejs który ma metodę boolean doSomething(SomeObject o)
gdzie wartość zwrotna mówi o tym czy warunek został spełniony i akcja się wykonała. Każdego kolejnego ifa zamieniłem na klasę która implementuje wcześniej utworzony interfejs. W metodzie methodABC()
tworzę listę instancji tych wszystkich klas, uruchamiam na każdym z nich metodę doSomething(o) i szukam pierwszego który zwrócił mi true. jeśli taki istnieje, robię return.
Czy takie podejście ma rację bytu? Czy już lepiej zostać przy ifologi? Jakie znacie rozwiązanie takiego problemu? A może to nie jest w ogóle problem?
private void methodABC(SomeObject o){
if(o.getA() != null){
doSomethingWhenAIsNotNull(o);
return;
}
if(o.getB() != null){
doSomethingWhenBIsNotNull(o);
return;
}
...
}