![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio zainteresowałem się tym artykułem: http://phpgeek.pl/112/dependency-injection-container/ Ciekawi mnie jedna kwestia, czy instancję Containera przekazywać gdzieś dalej do obiektów i do obiektów w obiektach przez parametr, czy skorzystać z tego, że tablica jest zmienną statyczną i w kolejnych "zagnieżdżeniach" obiektów tworzyć nowy obiekt Containera? Bo jeśli przez parametr to można wywalić zmienną statyczną (większa śladowa wydajność, większy bałagan w parametrach) a jeśli tworzyć nowy obiekt to niby nam ta wydajność spada, bo i zmienna statyczna i do tego kolejne obiekty... np 3 obiekty przy jednym żądaniu. Chociaż nie wiem jak się ma to do zmiennych statycznych, to podobno stosowanie metod statycznych (w większej dawce) odbywa się kosztem spadku wydajności. Co Wy o tym wszystkim myślicie?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie zaproponowałem jednak niczego poza tym żeby nie przekazywać Kontenera po kodzie tworzonej aplikacji z obiektu do obiektu Jeżeli nie przekazywać to... zrobić z niego globala. Jeżeli zrobić z niego "singletonowego globala" to tak jakby użyć zwykłego globala (tylko bardziej "pro"). Idąc dalej nasz kod zyskuje wszystkie "zalety" globala, tj.: zależności od jakiś zewnętrznych, niekontrolowanych źródeł. W dodatku zamiast opierać się na interfejsach (co w teorii powinno być dla OOP w PHP naturalne - no niestety nie wyszło) musimy opierać się na klasach, czyli innymi słowy wymuszamy implementację zależności. A wszystko to by pozbyć się przekazania tej jednej zależności w konstruktorze obiektu. IMO do d..y takie "udogodnienie".
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 02:51 |