Avatar billede bildsoe Nybegynder
25. juli 2011 - 15:36 Der er 4 kommentarer og
1 løsning

Hvad er praksis når der skal referes til "hovedklasse"

Jeg er ved at kode et user interface til et sagsbehandlingsprogram, og har i det nogle problemer med referencer. Jeg har et vindue jeg har kaldt mainWindow, og deri ligger alt min business logik. I mainWindow har jeg f.eks. et sted en user control som jeg bruger til at vise nogle sager, inden i denne user control har jeg en ny user control, der viser nogle oplysninger om de sager som musen holdes over. Når jeg i det inderste vindue så skal hente nogle information fra mit BLL, så har jeg indtil videre i hver af user controls'ne lavet en property af typen mainWindow og har så sat den til en reference af mainWindow. Dvs. at jeg fører reference ned i gennem de forskellige user controls. Er dette den rigtige måde at gøre det på? Der kan kun være et mainWinow, så kunne jeg ikke også implementere dette som singleton og så lave referencer til det alle steder jeg skal bruge det?
Avatar billede arne_v Ekspert
25. juli 2011 - 15:41 #1
mainWindow lyder altsaa meget som PL og ikke BLL !?!?

Problemet med singleton er at det er svaert at se informations flowet, fordi alle kan laese og skrive der.

Hvis den er immutable fordi den ikke kan aendres efter at vaer einitialiseret er problemet ikke sas stort.

Og der kan ogsaa vaere andre situationer hvor det simpelthen er mere praktisk.

Men hvis du bare skal have nogle argumenter med ned gennem en 2-3 kald i din egen kode, saa ville jeg ikke vaelge singleton.
Avatar billede bildsoe Nybegynder
25. juli 2011 - 15:54 #2
Hehe, det er min første applikation så, ja, jeg fandt lidt sent ud af at jeg nok desværre var kommet til at lave PL og BLL sammen. Er i gang med en ny version, men hvor problemstillingen ifht at have argumenter med ned gennem flere kald stadig er aktuel.

Men vil det sige at svaret på mit problem egentligt kommer mest an på, hvor læsbar jeg søger at gøre koden? der er ikke nogen funktionelle forskellige på, om jeg gør det på den ene eller anden måde?
Avatar billede arne_v Ekspert
25. juli 2011 - 16:12 #3
Stort set alle design beslutninger drejer sig om at goere koden mere laesbar og nemmere at vedligeholde.

En string med "ABC" er ikke forskellig alt efter om den er kommet med som argument eller fiskes ud af en singleton.

Udfra din beskrivelse lyder det ikke som om at det er svaert at sende data med over som argument.
Avatar billede bildsoe Nybegynder
25. juli 2011 - 16:23 #4
Nej, egentligt ikke, tror nogle enkelte steder det er 4 og 5 kald de skal føres med igennem, og synes det kan være lidt svært at holde styr på om alt der skal føres med, bliver det.

Tak for kommentarerne. Smid et svar. Så giver jeg point.
Avatar billede arne_v Ekspert
25. juli 2011 - 16:37 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester