Polimorfizm z nieuzytym argumentem.

0

Czesc, czy uwazacie to, za wielki blad? Zastosowalem to ze wzgledu na to, ze moge sobie rozdzielic dzieki temu logike, ale sam argument nie jest wykorzystywany, troche smerdzi, ale silnie typowane jezyki pozwalaja nam na takie cos. Co o tym sadzicie?

0

Wrzuć przykład z kodem - aktualnie ciężko coś powiedzieć.

0

Taki wycienek, mysle ze wystarczy, aby przekazac, o co mi chodzi

    private Book apply(BookOrderResolved event) {
        return this.withState(BookStatus.RESOLVED);
    }

    private Book apply(BookOrderRejected event) {
        return this.withState(BookStatus.REJECTED);
    }

    private Book apply(Event event) {
        if (event instanceof BookOrderResolved) {
            return this.apply((BookOrderResolved) event);
        } else if (event instanceof BookOrderRejected) {
            return this.apply((BookOrderRejected) event);
        }
    }
1
  1. To co napisales nie ma nic wspólnego z polimofizmem
  2. To się ogarnia za pomoca odpowiednich nazw metod.
    Dziękuje dobranoc :)
2

Samo połączenie if oraz instanceof świadczy o małym związku takiego kodu z inżynierią oprogramowania. Prawdopodobnie złamane jest Open/Closed Principle, niebawem dojdzie do tego złamanie LSP, a sam kod jest nieobiektowy.

0
Brunatny Rycerz napisał(a):

Taki wycienek, mysle ze wystarczy, aby przekazac, o co mi chodzi

    private Book apply(Event event) {
        if (event instanceof BookOrderResolved) {
            return this.apply((BookOrderResolved) event);
        } else if (event instanceof BookOrderRejected) {
            return this.apply((BookOrderRejected) event);
        }
    }

Ręczny polimorfizm w najczystszej postaci. Trust no one - szanuję.

0

Dopiero ucze sie javy, a juz tutaj mi smierdzial ten kawalek kodu. Co najlepsze, jest to zerzniety kawalek z repozytorium jednego pana, ktory tutaj na forum byl chwalony i kod jeden z nowszych. Czy najlepsze rozwiazanie w jezykach OOP w tym przypadku wystarczy zwykly prosty "if"?

0

Co najlepsze, jest to zerzniety kawalek z repozytorium jednego pana, ktory tutaj na forum byl chwalony i kod jeden z nowszych.

Zamiast pustych frazesów daj link...

0

Zamiast pustych frazesów daj link...

Takich rzeczy nie powinno się robić moim zdaniem, ale chodzi o to, że nawet najlepsi robią błedy, czyli Ci panowie wyżej również, na SO juz by dostali minusa (procz @scibi92), bo zero merytorycznej odpowiedzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1