Polecenie w języku Go
Polecenie to behawioralny wzorzec projektowy według którego żądania lub proste działania są konwertowane na obiekty.
Wyżej wymieniona konwersja pozwala odkładać zadania w czasie, uruchamiać je zdalnie, przechowywać ich historię, itp.
Przykład koncepcyjny
Popatrzmy na przykład użycia wzorca Polecenie opartego na telewizorze. TV można włączyć poprzez:
- Włącznik na pilocie;
- Włącznik na samym telewizorze.
Zaczynamy od zaimplementowania polecenia WŁĄCZ którego odbiorcą będzie TV. Wywołanie metody execute
polecenia spowoduje wywołanie przezeń funkcji TV.on
. Ostatnim elementem jest definicja nadawcy. Mamy bowiem i pilota i sam TV, a oba będą zawierać obiekt-polecenie WŁĄCZ.
Zwróćmy uwagę, że opakowaliśmy to samo żądanie w kilka wywoływaczy. Podobnie można postąpić z innymi poleceniami. Zaletą tworzenia osobnego obiektu polecenie jest rozsprzęgnięcie logiki graficznego interfejsu użytkownika od logiki biznesowej. Nie trzeba opracowywać różnych obsługujących dla każdego z nadawców. Obiekt polecenie zawiera wszystkie niezbędne informacje, może więc też być użyty do opóźnienia wykonania.