Autor | Zpráva | ||
---|---|---|---|
mvclama Profil * |
#1 · Zasláno: 6. 12. 2015, 13:55:51
Ahoj mám jednoduchou otazku, kam patři v architektonickém vzoru MVC di container který zajištuje zavislosti pro bussines logiku, já mám zato, že patři do controlleru
protože jen shani data pro model a az teprve model s temi daty pracuje a myslim si že di container většinou saha do konfiguracnich souboru aplikace takze by to podle mne mělo patřit právě do controlleru, dekuji za odpoved |
||
Jan Tvrdík Profil |
DI container nemá s MVC nic společného. Je to nástroj jak v composition rootu pohodlně sestavit objektový graf. Jakmile je objektový graf hotov, tak není důvod na DI container šahat.
|
||
mvclama Profil * |
#3 · Zasláno: 6. 12. 2015, 20:23:19
Jan Tvrdík:
trochu upravim dotaz. Kam patří systemový kontejner v rami MVC? byl by v některé z třech vrstev MVC nebo patří do samostatné vrstvy, třeba SERVICE VRSTVA? zde je link aby bylo jasné o co mi presně jde doc.nette.org/cs/2.3/dependency-injection , jde mi o dependenci injection pomocí systemoveho kontejneru. dík za odpověď |
||
Jan Tvrdík Profil |
#4 · Zasláno: 6. 12. 2015, 20:36:42
mvclama:
Ještě jednou, DI container nemá s MVC nic společného. To je asi jako kdyby sis zeptal kam patří propiska v rámci MVC. Nepatří do žádné z MVC vrstev ani do žádné vlastní vrstvy. Možná ti pomůže přečíst si blog.ploeh.dk/2011/07/28/CompositionRoot |
||
mvclama Profil * |
#5 · Zasláno: 7. 12. 2015, 18:03:28
Jan Tvrdík:
a mohl by jsi mi prosim te vysvětlit co to tedy je a kam to patří , trochu se rozepsat, protože z toho clanku jsem porad nepochopil to že by to nepatrilo do webove aplikace ? a ze se to ve webove aplikaci nepouziva, zkus mi to prosim te vysvetlit polopate predem dik, predstav si ze ten di kontejner pouzivas ty , jak bysji ho zaclenil do kodu nebo do aplikace atd.. dik nepotrebuji tuny kodu ale jen nejaky teoreticky nacrt , ja jsem mel zato ze trida ktera má byt pouzitelna a rozsiritelna by mela pouzivat dependency injection aby se vyhla vsem vazbam a zadratovanim a vsehny zavislosti si natahne do konstruktoru a ze ty zavislosti posklada kontejner a kod toho kontejneru bude ulozen v rámci mvc aplikace ve slozce controller,asi mam az prilis jednoduhy pohled na pouziti di kontejneru ale hci se to nauit spravne pouzivat, tak kdyby jsi mi to vysvetlil tak bych ti byl vdeny |
||
Jan Tvrdík Profil |
#6 · Zasláno: 7. 12. 2015, 19:37:42
mvclama:
„co to tedy je“ phpfashion.com/co-je-dependency-injection „jsem porad nepochopil to že by to nepatrilo do webove aplikace“ Ale já nic takového netvrdím, do webových aplikaci to normálně patří (nezávisle na tom, zda používající MVC). „jak bysji ho zaclenil do kodu nebo do aplikace“ Použil bych Nette, která ten problém už vyřešilo a má na něj odpověď. Jinak obecně platí tvrzení z výše odkázaného článku „As close as possible to the application's entry point.“. „jsem mel zato ze trida ktera má byt pouzitelna a rozsiritelna by mela pouzivat dependency injection“ Ano. Ale to nijak nesouvisí s MVC a nepotřebuješ k tomu DI container. „ty zavislosti posklada kontejner“ Ne nutně, ale je to možnost. „kod toho kontejneru bude ulozen v rámci mvc aplikace ve slozce controller“ To je téměř určitě špatně. |
||
mvclama Profil * |
#7 · Zasláno: 8. 12. 2015, 15:55:04
Jan Tvrdík:
Dekuji za odpoved uz bych chtel jen odpoved, na to kam by jsi ve sve aplikaci ulozil ten di kontekjner nebo kde tedy ma di kontejner ulozen nette, predem dik za odpoved |
||
Keeehi Profil |
#8 · Zasláno: 8. 12. 2015, 16:01:04
Přesně podle toho jak píše Jan Tvrdík:
„Jinak obecně platí tvrzení z výše odkázaného článku ‚As close as possible to the application's entry point.‘.“ Viz github.com/nette/sandbox/blob/master/www/index.php |
||
mvclama Profil * |
#9 · Zasláno: 8. 12. 2015, 20:20:10
Keeehi:
tak se zda ze v nette je to mimo presenter a mimo model tak ta ukazka mi aspon neco napovedela dik, sice je to mimo moji otazku ale po stazeni nette jsem si vsiml ze ma nette zanořený root, je to tak nebo jsem si to spatne vylozil |
||
Keeehi Profil |
#10 · Zasláno: 8. 12. 2015, 21:38:11
mvclama:
„Tak se zda ze v nette je to mimo presenter a mimo model“ Ano. Ale to už Jan Tvrdík psal v [#2] „DI container nemá s MVC nic společného“ |
||
Časová prodleva: 8 let
|
0