Strona główna > Java > Dlaczego nie ma Command?

Dlaczego nie ma Command?

Ponownie, w Javie, w którymś już z rzędu projekcie, miałem potrzebę użycia wzorca polecenia (Command). Wymagało to stworzenia interfejsu (lub klasy abstrakcyjnej) specyfikującej tą konstrukcję, co mniej więcej wyglądać może tak:

public interface Command {
    public void execute();
}


Niby nic wielkiego, mało kodu, ale nasunęło mi się pytanie: Dlaczego nie jest to w standardzie? Dlaczego nie jest to dostępne w API, tak jak iterator.

Istnienie tego ułatwiłoby przekazywanie intencji. Ktoś nie musiałby spoglądać do kodu interfejsu aby stwierdzić że jest to standardowa konstrukcja (czyli przekazanie kawałka kodu do uruchomienia w innym miejscu, w innym czasie).
Po interfejsie każdy by wiedział z czym miałby do czynienia, tak jak jest to teraz w przypadku iteratora.

Może to drobnostka, ale dlaczego tego nie ma?
Czy jest to przeoczenie?
Czy stoją za tym jakieś poważne „ale”?
Czy może po prostu jest przyjęte tak, że skoro w standardzie nie można znaleźć dobrego miejsca do implementacji tego, to nie wprowadzamy interfejsu na siłę?

Szkoda. O ileż łatwiejsze byłoby pokazanie, że można myśleć o kodzie w sposób jaki daję wzorzec polecenia, gdyby w standardowym API było użycie tego, tak jak to jest w przypadku iteratora. Sam pamiętam, że o tym jak działa iterator i jak go używać dowiedziałem się zanim zostało mi uświadomione że jest to jakiś wzorzec.

Kategorie:Java Tags:
  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: