Pakiet programów do zdalnego nauczania Programowania Orientowanego Obiektowo
Dzisiaj jest
Poniedziałek, 16 Lipiec 2018
Zarejestrowanych użytkowników: 4
Dostępnych pytań testowych: 102
HOME
Strona tytułowa pracy dyplomowej
NAUKA
Materiały dydaktyczne związane z OOP
TESTY
Sprawdzenie poziomu zdobytej wiedzy
ZASOBY
Literatura i zasoby sieciowe o OOP
ŹRÓDŁA
Zbiór projektów dydaktycznych z OOP
KONTO
Możliwość śledzenia własnych postępów
INFO



Przykład (prosty framework do obsługi systemów startowych)

Języki C/C++ są powszechnie stosowane podczas programowania mikroprocesorów. Bardzo często podczas rozpoczęcia pracy z określonym mikrokontrolerem użytkownik dostaje do dyspozycji tzn. system startowy składający się z mikroprocesora i szeregu elementów dodatkowych, np. przycisków, diod LED, brzęczyka, przetworników, interfejsów (USB, Ethernet itp) itd.

Ponieważ w każdym projekcie używa się za każdym razem operacji na elementach takiego systemu klient może pokusić się o stworzenie prostej klasy umożliwiającej wpływ na te elementy. W przypadku elementów takich jak diody LED czy brzęczyk rozwiązanie jest bardzo proste i wymaga zdefiniowania określonej metody publicznej typu zapalLED() lub wlaczBrzeczyk(), którą użytkownik będzie wywoływał.

Nieco bardziej kłopotliwa sytuacja pojawia się w momencie, kiedy należy obsłużyć działania związane z naciśnięciem przycisku będącego częścią systemu startowego. Twórca klasy nie jest w stanie przewidzieć jakie czynności będzie chciał wykonać użytkownik w momencie naciśnięcia przycisku. Dla każdej aplikacji, a nawet dla różnych stanów aplikacji mogą one bowiem powodować inne działania. Programista tworzący framework może jedynie rozpoznać sytuację w której naciśnięto przycisk.

Wzorzec Polecenie umożliwia bardzo wygodne i elastyczne rozwiązanie opisanego problemu. Klasa ogólna jest parametryzowana obiektami poleceń, które są wywoływane w momencie naciśnięcia przycisku. Obiekty poleceń znają interfejs obiektu na rzecz którego wykonują operację, a sam obiekt wywoływany wie jak spełnić żądania do niego przesyłane.

Adamik Łukasz, Politechnika Śląska w Gliwicach (AEiI) - 2010/11