Factory VS DI Kontejner – může si factory schovávat instance?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- danielseek
- Člen | 42
Dobrý den,
řeším takové formální dilema. Dejme tomu, že mám factory Factory, které
vytváři instance určité třídy Class. Tyto instance si následně ukládám
do statické proměnné Factory::instances.
Neblížím se v tuto chvíli k návrhovému vzoru DI kontejneru? Domnívám se, že se stále jedná o factory, protože v kontejneru nemůžu (neměl bych) mít dvě service mající stejné třídy. Ale je toto skutečně podmínkou?
Daniel
- Honza Marek
- Člen | 1664
v kontejneru nemůžu (neměl bych) mít dvě service mající stejné třídy
Proč ne?
BTW ono u těch vzorů často záloží i na použití třídy, nejen na jejím kódu. Nette DIC kontejner se taky stane service locatorem, pokud si ho budu předávat do vytvářených objektů a tam z něj vytahovat další servisy.