- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- MasterDeeJay: Noname 1TB-os SATA SSD teszt
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- btz: Internet fejlesztés országosan!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- hcl: MS Office365 Linuxon
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Elektromos rásegítésű kerékpárok
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
j0k3r!
őstag
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
Ú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!
- Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730,
- Xbox Game Pass Ultimate kedvező áron, egyenesen a Microsoft-tól! - AUTOMATA BOLT
- ÁRGARANCIA!Épített KomPhone i3 10105F 8/16/32GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- HATALMAS AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
- QNAP TS-870U-RP 8 lemezes Rack NAS
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged