![]() |
![]() |
![]()
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: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
empathon mylisz się. Type hinting właśnie służy do tego co opisałeś. Jeśli zdefiniujesz interfejs i w klasach będziesz go implementował to spokojnie to zadziała. Może jak zobaczysz kod to sobie przypomnisz bo na pewno o tym wiesz:
Co do tematu to od siebie dodam, że warto zainteresować się wzorcem http://martinfowler.com/articles/injection.html W kontekście php najlepszą prezentacją jaką widziałem jest ta. A w niej 3 kluczowe linki do projektów: http://phpcrafty.sourceforge.net/ http://garden.tigris.org http://www.stubbles.net/wiki/Docs/IOC |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
(..)Co do tematu to od siebie dodam, że warto zainteresować się wzorcem dependency injection (..) Dzięki za linki. Trochę poczytałem i wydaje mi się że to co ja napisałem to właśnie ten wzorzec tylko całkowicie zautomatyzowany. Czy się nie mylę?Ciekawi mnie, jakie moje rozwiązanie ma wady i dlaczego kurcze nikt takiego myku nie używa? Myślę że temu, że to przeczy zasadom obiektowości. Poza tym większość ludzi używa singletonów na podobnej zasadzie a ponoć są szybsze niż klasy statyczne ale mogę się mylić. Moje rozwiązanie różni się tym od Twojego, że (na podstawie tego co mi napisał empathon) jest o wiele szybsze w działaniu. A poza tym przy lekkiej modyfikacji możnaby do różnych klas dodawać różne konteksty. Myślę, że moje rozwiązanie nadaje się tylko dla leniwych ale ja jestem raczej leniwy więc mi leży. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.09.2025 - 02:43 |