konto usunięte

Temat: Inne

- akcja (publikowany i rejestrowany interfejs do procesu, np. w celu undo/redo)
- scheduler (bezwątkowe szeregowanie zadań wewnątrz procesu)
- iterator (klasa wędrująca po strukturze)
- enumeracja (patrz Win32 API)

To trochę wykracza poza podręcznikowe przykłady typu Singleton. Zna ktoś inne tego typu?
Dawid Ireno

Dawid Ireno Software Architect

Temat: Inne

Może o któryś bym się pokusił, acz z natury jestem perfekcjonistą i nie pokazuję pracy nim uważam za gotową. A tak na boku, jakie rozumiesz różnice między pojęciem iteratora a enumeratora?

konto usunięte

Temat: Inne

Dawid Ireno:
Może o któryś bym się pokusił, acz z natury jestem perfekcjonistą i nie pokazuję pracy nim uważam za gotową. A tak na boku, jakie rozumiesz różnice między pojęciem iteratora a enumeratora?

Enumerator wykorzystuje "callback" czyli adres zwrotny funkcji.
Schemat wywołania:
1. wywołaj enumerację z argumentami i dodatkowo adresem funkcji odbiorczej
2. enumeracja dla każdego znalezionego obiektu odpala funkcję odbiorczą
3. funkcja odbiorcza może przerwać pętlę przy pomocy argumentu wyjściowego (output) lub wyniku (return). Dodatkowo może obsłużyć argument podany w pierwszym kroku o strukturze zdefiniowanej przez użytkownika (void *).
Dawid Ireno

Dawid Ireno Software Architect

Temat: Inne

Dobrze chyba rozumiem, w którym kierunku idzie to rozumowanie, acz output i return zamieniłbym na break i return.

A jak zdefiniowałbyś iterator?

konto usunięte

Temat: Inne

Dawid Ireno:
Dobrze chyba rozumiem, w którym kierunku idzie to rozumowanie, acz output i return zamieniłbym na break i return.

A jak zdefiniowałbyś iterator?

Zaznaczam, że w C++/STL emurerację można zrobić przy pomocy funktorów.

Iterator to obiekt który wie jak poruszać się w spójny sposób po strukturze w celu przejrzenia jej kolejnych elementów. Może być czytający (const) lub ogólny.Piotr Likus edytował(a) ten post dnia 22.06.09 o godzinie 14:23

Następna dyskusja:

Pikselki i inne




Wyślij zaproszenie do