- AMD Navi Radeon™ RX 9xxx sorozat
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Melyik tápegységet vegyem?
- Milyen Android TV boxot vegyek?
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Milyen belső merevlemezt vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- ZIDOO médialejátszók
Ú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
- Robotporszívók
- Villanyszerelés
- Xiaomi 14T - nem baj, hogy nem Pro
- Battlefield 6
- Luck Dragon: Asszociációs játék. :)
- Nintendo Switch 2
- AMD Navi Radeon™ RX 9xxx sorozat
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Melyik tápegységet vegyem?
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- További aktív témák...
- Honor Magic5 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3162, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 12 mini 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3187, 96% Akkumulátor
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 32GB 1000GB 15.6 új akksi 1év garancia
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128GB SSD I 15,6" FHD I W10 I HDMI I Cam I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest