- Google Pixel topik
- Telekom mobilszolgáltatások
- Samsung Galaxy S25 - végre van kicsi!
- Különleges élményre invitál az Apple
- Sony WF-1000XM6 – ez évi etalon?
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy A55 - új év, régi stratégia
- iPhone topik
- Privát Samsung funkciót tehet az Apple publikussá
Ú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
- Allegro vélemények - tapasztalatok
- Diablo II: Classic és Resurrected
- Eredeti játékok OFF topik
- Beleremegett Hollywood Brad Pitt és Tom Cruise AI harcába
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- mefistofeles: Az elhízás nem akaratgyengeség! 2 Ahogy én csinálom.......
- Xbox Series X|S
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Döbbenetes csörte zajlott le az AMD és a SemiAnalysis között
- Google Pixel topik
- További aktív témák...
- DOKKOLÓ BAZÁR! Lenovo, HP, DELL és egyéb más dokkolók (TELJES SZETTEK)
- Kingston SNV3S 1 TB NVMe SSD VADIÚJ, 3 év NÉVRE SZÓLÓ GARANCIA!
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 5060 / 16GB DDR5 / 1TB Nvme SSD!
- Apple iPhone 16 Pro Max 256GB Black Titanium használt, karcos kijelző 91% akku - 6 hó garancia
- Bomba ár! Lenovo IdeaPad 3: i3-10GEN I 8GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
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]).

