![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 4.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Szanowni profesjonaliści,
Proszę, w wolnej chwili, o przejrzenie kodu i udzielenie cennych wskazówek jak ten kod można ulepszyć. Kod na Githubie Plik READ ME.txt - tu jest opis co miało być zaimplementowane. Instrukcja implementacji interfejsu |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Trochę większy przykład:
1. Tutaj na dobrą sprawę w ogóle nie mamy właściwie DI. Co prawda sam kontener zależności jest przekazywany w sposób typowy dla DI, ale nie on nas tutaj interesuje. 2. Jakie zależności ma obiekt typu MyService? Nie wiadomo. 3. Czy da się napisać testy dla czegoś takiego? Da. Ale w strasznie niewygodny sposób. 4. Czy utworzę dwa obiekty klasy MyService korzystające z dwóch różnych mailerów? Jak się odpowiednio wygimnastykuję to może tak. Zamiast prostego: Muszę robić jakieś cuda w postaci klonowania całego kontenera, ustawiania mu jednego innego serwisu i przekazywania dopiero tego do MyService. A i tak cholera wie czy to w ogóle dalej będzie działało. To tak na szybko... Cytat W podobny sposób używa się większości kontenerów IoC... przynajmniej w framewrokach PHP. Raczej zawsze odradza się bezpośrednie korzystanie z kontenera. Jedynie wewnątrz kontrolerów jest to nagminnie "promowane". Ale jest to jeszcze raczej akceptowane ze względu na to, że kontrolery są pod tym względem na tyle specyficzne, że często jest to zwyczajnie w świecie bardziej opłacalne. Pamiętajmy, że ostatecznie te techniki mają nam pomóc, a nie być sztuką dla sztuki. (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.10.2025 - 15:36 |