- Milyen TV-t vegyek?
- Xiaomi Pad 6 - kiapadhatatlan jóság
- OLED TV topic
- SSD kibeszélő
- Bambu Lab 3D nyomtatók
- Játékra optimalizált chipkínálatot tervez a Microsoftnak az AMD
- TCL LCD és LED TV-k
- RAM topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
Ú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
- DDR5 GAMER PC: Új RYZEN 7 8700F/9700X +RTX 4060/5060/4070/5070 +16-32GB DDR5! GAR/SZÁMLA/50 FÉLE HÁZ
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook 14" -80% i7-10610U 16/512 FHD
- Szép! HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 32/512 Iris Xe FHD Magyar
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 8/512 Iris Xe FHD Magyar
- 512 Gb-os NVME-k
- Samsung Galaxy A54 5G , 8/128 GB , Kártyafüggetlen
- Csere-Beszámítás! RTX Számítógép játékra! I5 13400F / 32GB DDR5 / RTX 4070 Super / 1TB SSD
- AKCIÓ! Dell Alienware M17 R3 Gamer notebook - i7 10750H 16GB DDR4 1TB SSD RTX 2070 8GB WIN10
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest