- Luck Dragon: Asszociációs játék. :)
- Kempingezés és sátrazás
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: MárkaLánc
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Lalikiraly: Commodore The C64, Ultimate
- aquark: Flipper PC-n!
Új hozzászólás Aktív témák
-
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
- Apple iPad 11, Silver, új , makulátlan,128Gb, Wifi, 100% akku, tokkal + Pencil
- Apple iPad 10, Blue, 64Gb, Wifi, karcmentes,új állapotú, 10.9'' Retina+Pencil
- Apple Watch Se 2, Space Gray, 40mm, új állapotú, 90% akku
- Samsung Galaxy S22 128GB - Dual SIM, Független, Fekete
- Eladó keveset használt kitűnően müködő Microsoft Xbox Wireless Controller
- M1 iPad Pro 11" 3. Gen 128GB Silver - 27% ÁFA (0434BE)
- GAMER PC! i7-14700F / RX 9070 XT / 32GB 6000MHz / 1TB NVMe / 850w Gold! BeszámítOK
- 2019 MacBook Air Retina 13" i5 8GB 128GB Rose Gold
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Rendelésre! Apple Mac Studio M3 Ultra, 96GB RAM, 1024GB SSD, 28/60 mag - 27% ÁFA
Állásajánlatok
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]).