Difference between revisions of "Klasy pochodne od klasy "Application""
From MorphOS Library
(Translation in progress.) |
(Link redirected to Polish version.) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
Każdy program używający MUI jest (a przynajmniej powinien być) [[Programowanie sterowane zdarzeniami, notyfikacje|sterowany zdarzeniami]]. Oznacza to, że program dostarcza zestawu akcji, które mogą być wyzwalane przez użytkownika (najczęściej za pośrednictwem myszy albo klawiatury). Najprostszym sposobem umieszczenia w programie takiego zestawu akcji jest zaimplementowanie ich jako zestawu metod jakiegoś obiektu MUI. Dla prostych aplikacji najlepszym kandydatem do dodania takich metod jest główny obiekt programu klasy ''Application''. Bardziej złożone programy, na przykład używające interfejsu z wieloma oknami dokumentów (ang. ''multi-document interface''), mogą dodawać akcje do innych klas, na przykład do klasy ''Window''. | Każdy program używający MUI jest (a przynajmniej powinien być) [[Programowanie sterowane zdarzeniami, notyfikacje|sterowany zdarzeniami]]. Oznacza to, że program dostarcza zestawu akcji, które mogą być wyzwalane przez użytkownika (najczęściej za pośrednictwem myszy albo klawiatury). Najprostszym sposobem umieszczenia w programie takiego zestawu akcji jest zaimplementowanie ich jako zestawu metod jakiegoś obiektu MUI. Dla prostych aplikacji najlepszym kandydatem do dodania takich metod jest główny obiekt programu klasy ''Application''. Bardziej złożone programy, na przykład używające interfejsu z wieloma oknami dokumentów (ang. ''multi-document interface''), mogą dodawać akcje do innych klas, na przykład do klasy ''Window''. | ||
− | + | Dlaczego metody? Napisanie akcji programu w postaci metod ma kilka zalet: | |
− | * | + | * Metody mogą być użyte bezpośrednio jako akcje w [[Programowanie sterowane zdarzeniami, notyfikacje#Notyfikacje w MUI|notyfilacjach]]. Programista nie musi używać hooków ani zaśmiecać głównej pętli dekodowaniem zdarzeń. |
− | * | + | * Metody mogą być bezpośrednio przyporządkowane poleceniom dostępnym w językach skryptowych poprzez port komunikacyny (zwany tradycyjnie portem ARexxa). |
− | * | + | * Metody wywołane z notyfikacji są wykonywane bezpośredno w odpowiedzi na zdarzenia. Nie ma opóźnień wprowadzanych przez główną pętlę, zwłaszcza gdy pętla ta nie jest pusta. |
− | * | + | * Wartość atrybutu wyzwalającego notyfikację może być [[Programowanie sterowane zdarzeniami, notyfikacje#Wykorzystanie wartości wyzwalającej|bezpośrednio przekazana]] do metody jako jej parametr. |
− | * | + | * Użycie metod zwiększa modułowość kodu i enkapsulację danych. Funkcje, które działają na danym obiekcie, są metodami tego obiektu, kod dotyczący obiektu nie jest rozrzucony po całym projekcie. |
− | + | W dobrze zaprojektowanej aplikacji MUI cała funkcjonalność programu zawarta jest w metodach, a wewnętrzny stan programu i danych jest pamiętany jako zestaw atrybutów i pól w strukturze danych obiektu (lub obiektów). Przykład takiego programu został szczegółowo omówiony w artukule "[[Tworzenie klas pochodnych: port programu SciMark2]]". |
Latest revision as of 13:53, 28 January 2011
Grzegorz Kraszewski
Ten artykuł w innych językach: angielski
Każdy program używający MUI jest (a przynajmniej powinien być) sterowany zdarzeniami. Oznacza to, że program dostarcza zestawu akcji, które mogą być wyzwalane przez użytkownika (najczęściej za pośrednictwem myszy albo klawiatury). Najprostszym sposobem umieszczenia w programie takiego zestawu akcji jest zaimplementowanie ich jako zestawu metod jakiegoś obiektu MUI. Dla prostych aplikacji najlepszym kandydatem do dodania takich metod jest główny obiekt programu klasy Application. Bardziej złożone programy, na przykład używające interfejsu z wieloma oknami dokumentów (ang. multi-document interface), mogą dodawać akcje do innych klas, na przykład do klasy Window.
Dlaczego metody? Napisanie akcji programu w postaci metod ma kilka zalet:
- Metody mogą być użyte bezpośrednio jako akcje w notyfilacjach. Programista nie musi używać hooków ani zaśmiecać głównej pętli dekodowaniem zdarzeń.
- Metody mogą być bezpośrednio przyporządkowane poleceniom dostępnym w językach skryptowych poprzez port komunikacyny (zwany tradycyjnie portem ARexxa).
- Metody wywołane z notyfikacji są wykonywane bezpośredno w odpowiedzi na zdarzenia. Nie ma opóźnień wprowadzanych przez główną pętlę, zwłaszcza gdy pętla ta nie jest pusta.
- Wartość atrybutu wyzwalającego notyfikację może być bezpośrednio przekazana do metody jako jej parametr.
- Użycie metod zwiększa modułowość kodu i enkapsulację danych. Funkcje, które działają na danym obiekcie, są metodami tego obiektu, kod dotyczący obiektu nie jest rozrzucony po całym projekcie.
W dobrze zaprojektowanej aplikacji MUI cała funkcjonalność programu zawarta jest w metodach, a wewnętrzny stan programu i danych jest pamiętany jako zestaw atrybutów i pól w strukturze danych obiektu (lub obiektów). Przykład takiego programu został szczegółowo omówiony w artukule "Tworzenie klas pochodnych: port programu SciMark2".