![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
*Plik Bootstrap* Każdemu obiektowi który ma mieć zakres globalny przekazujemy w konstruktorze context
Każdy obiekt globalny dziedziczy po klasie System_Object
Obiekt Kontext
Przykłądowa klasa. Wszystkie inne na podobnej zasadzie. Nie ma żadnych setterów, getterów, wszystko bez zbędnych kodów.
sposób użycia
Moim zdaniem to musi być ostateczne rozwiązanie problemu globalsów. Bardzo proszę o dyskusję Czy singletony zamiast tego byłyby wydajniejsze ? Podobno singletony to zło. Ja już zgupłem do reszty @_@ Ten post edytował Black-Berry 5.11.2008, 09:24:28 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dzxięki L0ud. Wszystko o czym mówisz jest całkowitą prawdą. Pętla była pozostałością po czymś co przestało być potrzebne i teraz już ją wywaliłem. Muszę to przemyśleć jeszcze raz bo faktycznie starsze elementy nie mają dostępu do nowych. Cuda takie jak to:
chyba nie będą takim problemem bo każdy kto trochę myśli to zamiast tego napisze:
No i czasem buffer też potrzebuje dbDrivera jeśli np będzie chciał cach'a całej strony zapisać do bazy danych. Mówi się dużo na temat ukrywania niektórych obiektów ale piszę już ponad rok i zawsze wychodza takie sytuacje w których jeden obiekt wymaga takiego o którym wcześniej nie pomyslałem i wtedy znowu trzeba przerabiać konstruktor, tworzyć nowego settera, gettera. Trochę się mi to już znudziło i chcę to maksymalnie zautomatyzować. Edit: Tak po chwili zastanowienia... Czy obiektr language potrzebuje obiektu user? Albo czy config potrzebuje dbDriver? Myślę, że nie i takie hierarchiczne poukładanie jest pewną formą wyłączenia zbędnych obiektów z obiegu. Idąc w górę drzewka zawsze znajdę powiązanie. Np language potrzebuje session. Idąc w dół nie widzę takich zależnosci ale może ktoś się do tego ustosunkuje. P.S. Dlaczego masz takie dziwne prefiksy klas 'ff' (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ? Ten post edytował Black-Berry 5.11.2008, 09:50:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 23:50 |