Difference between revisions of "Klasy pochodne od klasy "Application""
From MorphOS Library
(Translation in progress.) |
(Translation in progress.) |
||
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. |
In a well designed MUI program, all program actions and functionality are implemented as methods and the program internal state is stored as a set of attributes and internal application instance data fields. An example of such a program is discussed throughly in the [[MUI Subclassing Tutorial: SciMark2 Port]] article. | In a well designed MUI program, all program actions and functionality are implemented as methods and the program internal state is stored as a set of attributes and internal application instance data fields. An example of such a program is discussed throughly in the [[MUI Subclassing Tutorial: SciMark2 Port]] article. |
Revision as of 13:34, 27 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.
In a well designed MUI program, all program actions and functionality are implemented as methods and the program internal state is stored as a set of attributes and internal application instance data fields. An example of such a program is discussed throughly in the MUI Subclassing Tutorial: SciMark2 Port article.