![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Moja klasa konfiguracyjna, która stanowi bazę odczytu i zapisu implementuje interfejs Iterator.
W niektórych klasach dzeidziczących po niej chciałbym zablokować możliwość iteracji po elementach obiektu. Jak coś takiego najprościej rozwiązać? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Może sam mi powiesz czy jest. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Abstrakcyjna klasa SDL_Config wczytuje konfigurację z pliku. Dane są przechowywane po identyfikatorze którym jest przetworzona ścieżka do pliku konfiguracyjnego. Składuję tam informacje takie jak data parsowania, rozmiar źródła, rozmiar keszu etc. Tworzę więc klasę Template_Cache_Data_Collection rozszerzającą SDL_Config której elementem jest jak łatwo się domyślić Template_Cache_Data z seterami i getterami. Akurat to jest może trochę chybiony przykład wykorzystania, ale dajmy na to że chcę dostać się do danych szablonu przeparsowanego o którejś tam godzinie. Więc tutaj jest mi potrzebna iteracja. Oprócz tego mechanizm iteracji jest mi też potrzebny przy zapisywaniu konfiguracji. Element konfiguracji po zwróceniu zapisywany jest do kolekcji w formie obiektowej żeby przy ewentualnym kolejnym odwołania nie pakować go ponownie. Jednak przy zapisie potrzebuję zwykłej tablicy, a nie obiektu. W tym celu muszę wykonać iterację poprzez elementy konfiguracji i pozamieniać obiekty na tablice. Jak masz jakiś lepszy pomysł na rozwiązanie tego to bardzo chętnie wy(czyt / słuch)am. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 15:32 |