- Út Korea turistaparadicsomába, amiről talán még sosem hallottál: Csedzsu-sziget
- Perplexity Pro AI képszerkesztési limit -egy képgenerátor függő tapasztalatai
- Adattár lemez előkészítése Windows telepítéshez
- Jelszóvédett IBM Thinkpad R50e működőképessé tétele.
- ATK Blazing Sky X1 Ultimate Metallic Red gamer egér
- aquark: Jó platformer játékokat keresek!
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Brogyi: CTEK akkumulátor töltő és másolatai
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- GoodSpeed: iPadOS 26 A Liquid Glass varázsa
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- Luck Dragon: Asszociációs játék. :)
Ú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
Hirdetés
- E-roller topik
- Anglia - élmények, tapasztalatok
- Kézbe fogható paradoxon lett az iPhone Air
- PlayStation 5
- iPhone topik
- Xiaomi 14T Pro - teljes a család?
- One otthoni szolgáltatások (TV, internet, telefon)
- PROHARDVER! feedback: bugok, problémák, ötletek
- Sony Xperia 1 V - kizárólag igényeseknek
- Xiaomi 15 - kicsi telefon nagy energiával
- További aktív témák...
- IPhone 16 Pro 128GB gyári független bontatlan minden szín! 1 év Apple jótállás
- Fehér Gamer PC/i7 14700k/32GB/ AMD 9060xt 16gb/1.5 TB SSD Win11Pro
- ASUS DUAL RX 6600 XT hibátlan állapotban - eladó!
- Honor 400 256Gb-gyakorlatilag új-2 év garancia
- SAMSUNG GALAXY Z FOLD7 12/512 GB DualSIM Ködös kék színbe , gyári független
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090 - 3 év garancia
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 Pro 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3385, 94% Akkumulátor
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Bomba ár! Lenovo ThinkPad X390: i5-G8 I 16GB I 256SSD I 13,3" FHD Touch I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest