- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- moha bácsi: VIII. Viharsarki Hobbi Elektronika Találkozó Békéscsaba 2025.06.14. szombat
- hcl: Döglött tabletből wifis kijelző kókány
- gerner1
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- Ismerkedés a Zyxel NSA325 v2-vel
Új hozzászólás Aktív témák
-
j0k3r!
senior tag
válasz
zsolt13 #5149 üzenetére
Előrevetem, hogy 1-2 mórickánál komolyabban soha sem foglalkoztam WindowsForms-szal.
A dependency injection résznek valahogy így kezdenék neki:
- egyik Form osztályodban se legyen semmiféle "közvetlen" adatelérés/adatmódosítás, csak Service/Manager osztályokon keresztül (lásd később)
- egyik Form osztályodból se lehessen elérni a DbContextet
- a Form osztályaid használják a már fentebb említett Service/Manager osztályokat
- a Service/Manager osztályok használják az éppen szükséges Repository-katÍgy már látható, hogy kinek-mire van szüksége (függősége). Valahogy így képzelek el egy Button Click eventet:
1, összeszeded a bejövő adatokat (ez rád van bízva)
2, ezekből az adatokból, ha szükséges, akkor Model/ViewModel-eket hozol létre
3, ezeket a Modelleket átadod a Service/Manager osztályoknak
4, a Service/Manager osztályokon belül módosítasz/lekérdezel adatokat a Repository-kon keresztül
5, a Repository(k) kezeli(k) az adatbázist közvetlenMegpróbálom kóddal is szemléltetni, hátha úgy jobban érthető:
1,2,
var model = new AuthenticationModel(txtUserName.Text, txtPassword.Text);
3,
if(userService.AuthenticateUser(model))
{
// todo
}
4, IUserService-en belül vagyunk:
public bool AuthenticateUser(AuthenticationModel model)
{
return userRepository.Get(u => u.UserName == model.UserName && u.Password == model.Password) != null;
}5, ilyesmi: [link]
Remélem valamennyire érthető volt, amit leírtam. Illetve, ha hülyeséget írtam valahol, akkor jöhetnek a vélemények.
egyébként melyik iskola ez? jöhet privátba is akár
-
martonx
veterán
válasz
zsolt13 #5149 üzenetére
Pedig a neten vannak ezekhez teljesen jó leírások. Joker DI-ra már javasolt is pár megoldást (Unity, NInject, Autofac ...). Bármelyiket beüzemelni nem nagy ügy.
Viszont előbb a DB repository-dat csináld meg, és majd azt használd DI-al. Ehhez semmi extra nem kell, pusztán kód szervezés kérdése. Csinálsz egy plusz réteget a DB réteg fölé. Ehhez is rengeteg magyarázó anyag van a neten.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AKCIÓ!!! GAMER PC: Új i5-14400F (10 mag/16 szál) +RX 7800 XT 16GB GDDR6 +Új 16-32GB DDR4! GAR/SZÁMLA
- AKCIÓ!!! DDR5 GAMER PC: Új RYZEN 7 8700F + Új RTX 5060 Ti + Új 16-32GB DDR5! GARANCIA/SZÁMLA!
- Razer Book 13 4K+ TOUCH I7 eladó
- HP 2x8 Gb DDR4 2666 Mhz RAM
- Félgép eladó/ Intel i9 9900 / Asus Prime Z390-A / 64GB DDR4 / 500GB Samsung 980 /
- Apple iPhone 12 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Lenovo Thinkpad T14 Gen 3 üzleti notebook - i5 1245U 16GB RAM 512GB SSD Intel Iris XeW11
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 7600 XT 16GB GAMER PC termékbeszámítással
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
- AKCIÓ! Gigabyte AORUS 16X (2024) Gamer notebook - i7 14650HX 16GB RAM 1TB SSD RTX 4070 8GBWin11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest