Citat:
Originalno napisao webarto
Kakve veze ima nečiji komentar? Podforum je PHP i spominješ Singleton. Možeš li navesti i jednu (opravdanu) primjenu tog patterna?
|
Namena Singletona i DI se ne poklapaju i Di ne moze zameniti Sigleton.
Necu da pricam da je Singleton los, i ja ga izbegavam ali nemoj ga porediti sa DI.
Opravdana primena je kada zelim globalni pristup objektu, i zelim da osiguran da ce samo jedna isntanca biti kreirana.
U PHP jeziku nema problema sa Singletonom, kao sto je to slucaj u konkuretnim sistemima sa više niti gde može doći do problema kada više pozivaju u isto vreme Singleton, pa se bespotrebno kreira više objekata. Za ove slučajeve postoje drugi paterni koji se u ovim slučajevima koriste.
Koji je dobar razlog da bi izbegavali Singleton ?
- Globalne promenjive su loše
- Ne poštuje SRP princip
Koji je razlog izbegavanja statičkih ?
Jel imate nešto da dodate ali konkretno protiv SIngletona i statičkih ?
Webarto ovo sa DI je bilo potpuno nekonstruktivno, ako možeš navedi neki konstruktivan i valjan razlog osim ovih koje sam ja naveo. Čak se u ovoj prezentaciji koju si linkovao navodi da treba koristii Buldere i Factory za kreiranje objekata umesto SIngletona, ne DI.