Autor Zpráva
mvclama
Profil *
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 *
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
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 *
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
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 *
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
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 *
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
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: