- Út Korea turistaparadicsomába, amiről talán még sosem hallottál: Csedzsu-sziget
- Perplexity Pro AI képszerkesztési limit -egy képgenerátor függő tapasztalatai
- Adattár lemez előkészítése távlati Windows telepítéshez
- Jelszóvédett IBM Thinkpad R50e működőképessé tétele.
- ATK Blazing Sky X1 Ultimate Metallic Red gamer egér
- Luck Dragon: Asszociációs játék. :)
- Gurulunk, WAZE?!
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- gban: Ingyen kellene, de tegnapra
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- SzDavid99: Út Korea turistaparadicsomába, amiről talán még sosem hallottál: Csedzsu-sziget
- sh4d0w: Árnyékos sarok
- Doky586: Adattár lemez előkészítése távlati Windows telepítéshez
- GoodSpeed: Bye PET Palack, hello SodaStream
Ú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
-
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. -
j0k3r!
őstag
válasz
zsolt13 #5146 üzenetére
Helló!
Kicsit mesélhetnél az alkalmazásról. Hogy tervezed a BLL-t (adatbázis, ORM, stb.)?
Nagyon röviden: a Repository az én fejemben valahol a DAL és a BLL között helyezkedik el, azaz egy köztes rétegként funkcionál a kettő közt, így az adatok kezelése ezen keresztül kell, hogy történjen legvégül.
Dependency Injection: [link]
Habár valószínűleg nem maga a "Dependency Injection" lesz számodra a lényeges, hanem valami DI Container framework (pl.: Unity, Ninject). Ha nagyon unatkozol, akkor valami faék egyszerű containert te is tudsz biztosan írni, hogy biztosan megértsd, hogy mire is jó.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- BestBuy topik
- A fociról könnyedén, egy baráti társaságban
- iPhone topik
- Beköltözik az LG és az Xbox az autókba
- Apple asztali gépek
- Elektromos autók - motorok
- Hivatalos a OnePlus 13 startdátuma
- Sokat megélt veterán CPU-t hoz vissza a piacra az Intel
- Tesla topik
- Melyik tápegységet vegyem?
- További aktív témák...
- HIBÁTLAN iPhone 13 mini 256GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3179
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- Akció! Újra Gamer EGEREK! Glorious , Endgamer XM1R , Nibio
- GYÖNYÖRŰ iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3398, 94% Akkumulátor
- BESZÁMÍTÁS! GIGABYTE A520M R7 3800X 32GB DDR4 512GB SSD RTX 3060Ti 8GB ZALMAN N4 Cooler Master 650W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest