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: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%)
|
@smentek: To Tobie radziłbym poczytać o tym wzorcu, bo to co proponujesz: To właśnie powód dla którego ten normalny wzorzec ma opinię anty-wzorca... nie takie jest jego zastosowanie! Co więcej takie partactwo przynosi jedynie więcej problemów niż pożytku. Jedyne co zrobiłeś to zamieniłeś global na :: i narzuciłeś sobie dodatkowych sztucznych ograniczeń i, o ironio, zbędnych zależności. A żeby nie było: celem tego wzorca jest zapewnienie dokładnie jednej instancji danej klasy, a nie globalny dostęp do obiektu - od tego jest global. Rozumiem, i masz rację, że bez singletonu można się tu obejść. Nie zaproponowałem jednak niczego poza tym żeby nie przekazywać Kontenera po kodzie tworzonej aplikacji z obiektu do obiektu w wywołaniach metod i aby robić to zgodnie z dokumenacją danego kontenera. I jeżeli ten kontener opierał by się na singletonie (przyjmujemy że dobry kontener nie powinien sie na nim opierac) to niestety ale właśnie tak należało by to robić jak to przedstawiłem. A jeżeli na nowo tworzonym obiekcie z urzyciem new to analogicznie należało by tworzyć nowy obiekt tam gdzie byl by potrzebny kontener. I to proszę traktować jako myśl przewodnią mojego postu (IMG:style_emoticons/default/smile.gif) A już na na pewno nie proponowałem aby kontener uczynić zmienną obiektu, rozumiem że jest to Twoja propozycja? (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował smentek 8.09.2010, 21:53:51 |
|
|
|
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
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
wookieb Właściwości statyczne przydają się w miejscach gdz... 12.09.2010, 12:05:26
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 - 12:17 |