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: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Właściwości statyczne przydają się w miejscach gdzie klasa nie musi tworzyć instancji i jej wewnętrzne właściwości nie wpływają na resztę aplikacji. Przykładem jest mój kalkulator ze stopki.
Cytat Okej, to mogę wywalić zmienną statyczną i wszędzie instancję kontenera przekazywać przez parametr, nawet tam gdzie to więcej komplikuje niż pomaga - tędy droga? Napisałem, że to zależy od upodobań oraz gustu. Jeżeli przekazujesz instancję kontrolera tam gdzie jest to wskazane powodujesz tym samym, że twoja aplikacja jest hermetyczna. Bardzo łatwo ją testować a także uruchamiać równolegle z innym egzemplarzami twojej aplikacji (2 lub więcej aplikacji odpalonych w jednym skrypcie). Cytat Bo jeśli tego się nie stosuje, bo jest be i kojarzy się z globalem to po co pisać o tym w manualu w ogóle.. Jest dobre przekonanie, że globala nie powinno się stosować i jestem jak najbardziej za. Ale jeżeli ktoś się zapyta "co poza global?" a ty odpowiesz mu, że klasa statyczna to wcale nie pomożesz a jedynie usadowisz użytkownika w tym samym punkcie. Dlatego o tym wspomniałem. PHP powstał i jest dla początkujących użytkowników, dlatego GLOBAL pozostał jako taki. Dla bardziej zaawansowanych programistów jest on bezużyteczny. Ten post edytował wookieb 12.09.2010, 12:06:42 |
|
|
|
Luneth Dependency Injection Container 17.08.2010, 19:50:56
Crozin Wydajność nie ma tu większego znaczenia - chodzi b... 17.08.2010, 19:54:17
Luneth W tym poście chodzi mi o to, aby głównie się skupi... 17.08.2010, 19:59:50
smentek A My o tym wszystkim myślimy, że z całą pewnością ... 8.09.2010, 20:50:04
Crozin @smentek: To Tobie radziłbym poczytać o tym wzorcu... 8.09.2010, 21:28:18
smentek Cytat(Crozin @ 8.09.2010, 22:28:18 ) ... 8.09.2010, 21:48:17
Crozin CytatNie zaproponowałem jednak niczego poza tym że... 8.09.2010, 23:36:42
smentek Ale dlaczego uważasz że kontener miał by mieć zasi... 8.09.2010, 23:51:32
Crozin Bo skoro nie lokalny (i bezpośrednio przekazywany ... 9.09.2010, 06:43:21
smentek Ok przyznaję, że daleko mi do eksperta jeżeli chod... 9.09.2010, 07:10:51
dariuszp Wzorzec jak wzorzec. Jak dla mnie to po prostu cie... 9.09.2010, 09:50:09
smentek CytatJak dla mnie to po prostu ciekawe zastosowani... 10.09.2010, 04:55:15
Crozin Tak, źle zrozumiałeś. Napisałem, że robienie z Sin... 10.09.2010, 06:33:03
Luneth Ja swój problem rozwiązałem tak: Container przecho... 12.09.2010, 10:23:40
wookieb Cytat(Crozin @ 10.09.2010, 07:33:03 )... 12.09.2010, 10:44:48
Luneth Okej, to mogę wywalić zmienną statyczną i wszędzie... 12.09.2010, 11:50:15
Luneth Nie zrobiłem klasy statycznej, jedynie atrybut prz... 12.09.2010, 12:58:34
Crozin CytatNie zrobiłem klasy statycznejTak, wiemy - bo ... 12.09.2010, 13:58:25
Luneth Owszem, mam coś na tej zasadzie. Nie tworzę za każ... 12.09.2010, 14:04:58 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 10:11 |