Ostatniio natknalem sie na ciekawy kod.
<?php class ObjectFactory { //...ciach if (array_key_existst($id,$aObjectCache) && $id > 0) { //ciach..sprawdzanie dodatkowych warunkow return $aObjectCache[$id]; } // przetwarzanie i pobieranie obiektu. Wynikeim tych dzialan jest obiekt przypisan
y do zmiennej $object $aObjectCache[$object->getId()] = $object return $object; } //...ciach } ?>
Zastanawiałem sie czemu zmienna $aObjectCache jest zadeklarowana w ciele metody a nie klasy.
Moje obserwacje.
W duzej aplikacji gdzie odwlanie do ObjectFactory::getInstance() jest liczone w setkach wydajnosc tego rozwiazania jest lepsza niz deklaracja statycznej zmiennej w ciele klasy i odwolywanie sie do niej poprzez ObjectFactory::$aObjectCache;
Wszystkie tworzone obiekty sa zapisywane w tej zmiennej statycznej i kolejne odwolanie sie do jakiegos obiektu, ktory wczesniej byl zainiciowany powoduje pobranie go z tablicy $aObjectCache a nie powonwe czytanie z bazy czy ewentualnie z cache.
Jestem ciekaw co o tym mysla forumowicze
