Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- sh4d0w: Kalózkodás. Kalózkodás?
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- Lalikiraly: Kinek milyen setupja van?
- gban: Ingyen kellene, de tegnapra
Ú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
- Számtech boltosok memoárjai, azaz amikor kiborulunk...
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Tesla topik
- Nagyrobogósok baráti topikja
- Békéscsaba és környéke adok-veszek-beszélgetek
- Filmvilág
- Formula-1
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- Alaposan kitolhatod az Steam Deck üzemidejét egy új funkcióval
- További aktív témák...
- ÚJ Elgato Stream Deck Classic Bolti ár:60k INGYEN FOXPOST
- AKCIÓ!! Dell Latitude 5420 Prémium laptop i5-1145G7 / 16GB memória / 14" FULL HD IPS / SSD / Win11
- ÚJ Cooler Master CK721 (Hybrid) Bolti ár:30k INGYEN FOXPOST
- Samsung Odyssey G7 32" Ívelt Gaming monitor 1440p - 240 Hz
- Lenovo Legion Booststation RTX2060 6GB videokártyával
- Bomba Ár! Lenovo ThinkPad E14 G2 AMD - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I W11 I Gari
- RAKTÁRSÖPRÉS!!! - Videókártyák, Monitorok, Notebookok, Stb. - Szaküzletből! Számlával!
- Xiaomi Redmi Note 12S 256GB, Kártyafüggetlen, 1 Év Garanciaval
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- BESZÁMÍTÁS! ASUS Z97-K Z97 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
) 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]).
