Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dependency Injection Container, sposób stosowania jego instancji
Luneth
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
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
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - 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


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 10:44