Avatar billede madiedk Nybegynder
17. december 2008 - 00:00 Der er 8 kommentarer og
1 løsning

java design spørgsmål

Hej

Jeg er begyndt at tænke lidt mere over designet af mine javaprogrammer. I den forbindelse har jeg et spørgsmål:

1. Jeg skal lave et program med ca 8 klasse, hvor alt GUI er i én klasse. Når man så klikker på f.eks. en jbutton for at der skal laves nogle beregninger på nogle af de andre klasser. hvor er det så smartest at have eventhandleren? lige nu er den i selve GUI klassen og så har jeg objecter at de andre klasser i GUI klassen som jeg så kan beregne på. men det er nok ikke så godt design.
Avatar billede arne_v Ekspert
17. december 2008 - 00:49 #1
Der er flere steder event kode kan placeres:
- samme klasse med brug af this
- anonymous inner class
- separat klasse

Jeg foretrækker normalt det første.

Hvis klassen ikke bliver for stor og der er ikke er for mange forskellige events der
skal tests på, så er det efter min mening helt fint.
Avatar billede madiedk Nybegynder
18. december 2008 - 23:47 #2
nu har jeg læst noget om MVC og prøvet et implementer det og det virker vidst udemærkde. nu er tingene i hvertfald seperaret. jeg har på et tidspunkt hørt om en 3 lagsstruktur hvor man har userinterface øverst, så applicationlayer og så businesslayer. hvad er fordele og ulemper ved MVC og 3-lagsstrukturen?
Avatar billede arne_v Ekspert
19. december 2008 - 03:14 #3
Opdeling i lag er rigtigt godt til struktuerer koden, så den er nem at vedligeholde
og nem at genbruge.

Typisk vil en 3 lags model bestå af:
  - presentation layer
  - business logic layer
  - data access layer

MVC er noget som kun relaterer sig til bruger interaktionen.

M ligger i business logic layer, V ligger i presentation layer og C ligger og roder
et sted mellem business logic layer og presentation layer.

Hvis man bruger en 4 lags model:
  - presentation layer
  - control layer
  - business logic layer
  - data access layer
så har C sit eget lag.
Avatar billede madiedk Nybegynder
19. december 2008 - 19:57 #4
er det forstået rigtigt at i en 4-lagsmodel:
  1- presentation layer
  2- control layer
  3- business logic layer
  4- data access layer

så kender lag 1 til 2, 2 til 3, 3 til 4. og det er de eneste forbindelser der er?

hvor der i MVC mere er en triangulær forbindelse?
Avatar billede arne_v Ekspert
19. december 2008 - 20:04 #5
Ja.

Ja.

Omend man nok ofte ville lave M som passhrough i CL altså PL-CL-BLL.
Avatar billede madiedk Nybegynder
19. december 2008 - 21:02 #6
tak, kan du ik lige uddybe: "Omend man nok ofte ville lave M som passhrough i CL altså PL-CL-BLL." Jeg forstår det ik helt og smid det som svar. så der point
Avatar billede arne_v Ekspert
19. december 2008 - 21:11 #7
Hvis man vælger PL-CL-BLL-DAL og samtidig vil bruge MVC, så kan man lave:

PL--CL--BLL--DAL
        |
PL--------

men hvis man vil opretholde lag delingen, så kan man også:

PL--CL--BLL--DAL
        |
PL--CL----
Avatar billede arne_v Ekspert
19. december 2008 - 21:11 #8
| skal stå ude under BLL
Avatar billede arne_v Ekspert
19. december 2008 - 21:11 #9
og 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
Kurser inden for grundlæggende programmering

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