Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: WindowBlinds 11
- 20230101_102713676_iOS
- Real Racing 3 - Freemium csoda
- Flashback: Építsünk PC-t akciós alkatrészekből, lassan. upd: 10.03
- Lalikiraly: Kinek milyen setupja van?
- sziku69: Szólánc.
- LordAthis: RETRÓnia - RETRÓ Mánia - Úton van hozzám egy csodás történelmi darab!
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Lacces
#11264
üzenetére
Ezt a cikksorozatot ajánlom, Fabien Potencier írta, aki például a symfony keretrendszer eredeti szerzője. What is Dependency Injection?
-
Peter Kiss
őstag
válasz
Lacces
#11264
üzenetére
A dependency injection-ben semmi sötét mágia nincs, annyiról szól, hogy egyértelműen megmondod, mi kell az adott objektumot létrejöttéhez/működéséhez, vagy épp egy metódus működéséhez ahelyett, hogy valami kiskaput válassz: ez lehet a new operátor (pfuj
) vagy épp az említett singleton vagy singleton-jellegű global object. Constructor-okban lehet sokszor olyat látni, hogy a paraméterlistája tök üres, de van benne vagy 5-ször valamilyen példányosítás new-val vagy mással (ez egyébként amiatt is bukta megoldás, hogy a ctor-okban nem végzünk semmilyen műveletet gyakorlatilag [példányosítás, adatbázishoz kapcsolódás, bármi ilyesmi]).A container ezen csak annyit segít, hogy ne kelljen annyit írnod, hogy egészen egyszerű legyek. Ha lenne egy olyan osztályod, aminek a ctor-a kérnek másik 3 objektumot, akkor nem szívesen írnál ilyeneket mindenhol, ahol kellene:
new (new (), new (), new ())
A container-ek ezen tudnak segíteni: az adott megoldás leírását használva felépíted, hogy, ha valaki X objektumot kér, akkor annak a függőségeit hogyan oldja fel, és utána csak ennyit kell írnod:
container.GetService(type)
Általában a container-ekhez járnak különböző lifetime service-ek (vagy írhatsz sajátot), ilyennel tudsz singleton-féle működést előidézni.
---
Az a final indoklás nem győzött meg, teljes osztályt szerintem a legritkább esetben kell lezárni. Ha azt szeretnéd, hogy valami az öröklődés ellenére is változatlan maradjon, azt rakd private-re vagy final-re, és kész.
Új hozzászólás Aktív témák
- BestBuy topik
- Black Friday november 29. / Cyber Monday december 2.
- Robotporszívók
- Windows 11
- Kormányok / autós szimulátorok topikja
- Kés topik
- A napi Windows-hiba? Teljes adatvesztés Bitlockerrel
- Apple iPhone 16 Pro - rutinvizsga
- Lelövi a Messengert a Facebook Windowson és Macen
- DJI topic
- További aktív témák...
- Glorious Model O 2 Wireless fekete
- Bomba ár! Lenovo ThinkPad T560 - i5-6GEN I 8GB I 256GB SSD I 15,6" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad T550 - i5-5GEN I 8GB I 256GB SSD I 15,6" FHD I Cam I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad P50 - i7-HQ I 32GB I 512SSD I Nvidia I 15,6" 4K Beégett I Cam I W10 I Gar
- Armani Emporio Stronger With You Intensely
- REFURBISHED - Lenovo ThinkPad 40AF Dock (DisplayLink)
- Bomba ár! HP EliteBook 745 G6 - Ryzen 7 3700U I 16GB I 512SSD I HDMI I 14" FHD I Cam I W10 I Gari!
- BESZÁMÍTÁS! Asrock B450M R5 5500 16GB DDR4 512GB SSD GTX 1080 8GB Zalman T4 PLUS ADATA 600W
- Apple iPhone XR / 128GB / Kártyafüggetlen / 12Hó Garancia / 95% akku
- XBOX Series X 1TB // Számla+Garancia //
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest
) vagy épp az említett singleton vagy singleton-jellegű global object. Constructor-okban lehet sokszor olyat látni, hogy a paraméterlistája tök üres, de van benne vagy 5-ször valamilyen példányosítás new-val vagy mással (ez egyébként amiatt is bukta megoldás, hogy a ctor-okban nem végzünk semmilyen műveletet gyakorlatilag [példányosítás, adatbázishoz kapcsolódás, bármi ilyesmi]).
