Hirdetés
- ASRock lapok általában
- Androidos tablet topic
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
- Milyen monitort vegyek?
- Házimozi haladó szinten
- 3D nyomtatás
- Milyen házat vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel találgatós topik
Ú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
- ASRock lapok általában
- sziku69: Fűzzük össze a szavakat :)
- Eredeti játékok OFF topik
- Androidos tablet topic
- Autós topik
- Milyen okostelefont vegyek? OFF topik
- Autós topik látogatók beszélgetős, offolós topikja
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
- Linux kezdőknek
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Xiaomi Redmi 13 4G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A33 5G / 6/128GB / Kártyafüggetlen / 12Hó Garancia /
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- BESZÁMÍTÁS! Apple Watch Ultra 2 49mm Cellular okosóra garanciával hibátlan működéssel
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
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]).

