{ addHandlers(); int maxDistance; int zoomLevel; int policenr; List<PoliceData> test = new List<PoliceData>(); List<SkadeData> skader = new List<SkadeData>(); DbFactory poli = new DbFactory(); test.Clear(); skader.Clear(); policenr = Convert.ToInt32(txtPoliceNr.Text); test = poli.getPoliceData(policenr); skader = poli.getSkadeData(); lblCity.Text = test[0].Bynavn; if (String.IsNullOrEmpty(txtInputDist.Text)) { maxDistance = 1000; }else { maxDistance = Convert.ToInt32(txtInputDist.Text); }
if (String.IsNullOrEmpty(txtInputZoom.Text)) { zoomLevel = 8; }else { zoomLevel = Convert.ToInt32(txtInputZoom.Text); } List<MarkersClass> listMarkers = new List<MarkersClass>();
listMarkers.Add(new MarkersClass { Color = "green", Label = "P", Lat = test[0].Lattitude, Long = test[0].Longitude, IsPolice = true });
foreach(var skade in skader)
{
listMarkers.Add(new MarkersClass { Color = "red", Label = "S", Lat = skade.Lattitude, Long = skade.Longitude, IsPolice = false });
}
if (Dirty == false) { VamosMapClass map = new VamosMapClass(listMarkers); Dirty = true;
Jeg ville gerne kunne splitte det op gerne med Interfaces som "holder" kontrakten mellem lagende
Så mit spørgsmål er følgende:
Jeg har en formklasse med en knap denne knap åbner et kald til en database der returnere en list<data> som er grundlag for noget beregning og returnere herefter en text til en label på min form.
Hvis man skulle designe dette med Interfaces hvordan kunne dette så se ud.
Ved det er meget at spørge om, men tror bare lige jeg skal se et lille eksempel i praksis (uden at klasserne behøves at være Implementeret før jeg kan komme videre.
jeg anvender ORM NhiberNate til håndtering af data og har seperate klasser de ligger bare i en stor bunke.
har lige studeret det lidt, det ligner noget moneny transfer.
Som jeg ser det Præsentationslaget user kontroller (winform) her modtages input til initalisering af applikationen dvs. bruger input < hvad med input fra f.eks App.config filen> herfra kalder man metoder i BLL laget med disse data
BLL er(forretningslaget) Her valideres input og der sendes Exceptions retur til brugeren hvis data er invalide. Her sendes Querys til DAL (Datalaget) Her Modtages data fra DAL Her udføres der beregninger og flow Her sendes data til Præsentationslaget
DAL Håndtere DB Sessions Udfører læsninger og Returnere data Udfører Skrivninger
### Kan man sige at der mellem præsentationslaget og BLL laget er en høj binding og at der mellem BLL og DAL er en lav binding Eller er det helt forkert. Det er bare fordi DAL ser ud til at være mere sin helt egen og kan 2leve uden de andre lag" man kunne også skifte db uden at skulle ændre i andet en NhiberNate konfigurationen.
hejsa Det er ikke fordi jeg ikke er aktiv på spørgsmålet, skal bare lige studere det hele lidt nøjere. Jeg har et helt konkret spørgs.
Jeg skal have valideret noget bruger input samt nogle min og max væerdier. Jeg over vejer at oprette en hjælpe klasse som så skulle være statisk. static class helper { }
Spørgsmålet er om hvor i koden det ville være bedst at anvende den i forhold til god arkitetur. Skulle jeg validere allerede i præsentationslaget eller skal det valideres i Businesslaget. Umiddelbart er min egen intuition at det bør være i præsentatonslaget.
Men en hjælpe klasse kan jo også indeholde metoder der bruges i de andre lag ?.
Med hensyn til kode for test vil jeg vaelge en af: - privat metode i klassen med helt specifikke test - en utility klasse med statiske metoder med generelle test og kald af dem med argumentet som goer testet specifik
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.