Avatar billede usse Nybegynder
06. maj 2007 - 17:44 Der er 1 kommentar og
1 løsning

MVC pattern

Jeg tror nok jeg har forstået princippet for hvordan det skal virke mht. MVC, hvor man tildeler funktionerne i GUIen til controller delen, og alt det visuelle til view. Dvs. med andre ord at listeners  er tildelt i controlleren, som har reference til model, samt view?
Jeg er igang med et projekt, og har tænkt mig at bruge MVC, da det er effektivt hvis man har flere forskellige brugere. Er pt ved at lege med hvordan jeg kan få princippet overført til eks. et login system, som skal køre i en applet. Jeg efterspørger et par eksempler der kan hjælpe mig videre, da jeg er gået lidt i stå..
Eks. har jeg en
GUI
  AdministrationView
  LabView
  Controller
----------
  Model
  Login

Det er så meningen at view klasserne skal bestå af 2 paneler:
  displayPanel
  controlPanel

controlpanelet har den egenskab, at den indeholder de knapper/funktioner/UC specificeret for det enkelte view, der ikke ændre sig. Derimod er displaypanelet det panel der skal opdateres og bruges til at vise formularer. Da alle listeners er i controller delen, og skal bindes til de enkelte knapper for de forskellige paneler i display, kræver det jo at man har en metode liggende i det enkelte paneler til at tilføje listeners da controller har en reference til view. ?? Håber der er nogen, som kan gøre det hele en smule mere enkelt :D
Avatar billede moeller2000 Nybegynder
16. maj 2007 - 10:07 #1
Hejsa.

Idéen med mvc-mønstret er at separere modellen fra gui'en og controlleren.
Du kan altså med fordel lave en pakke til hver af de tre områder, altså følgende pakker:

- Model
- View
- Controller

Controlleren skal i øvrigt ikke indeholde noget gui, som jeg har på fornemmelsen den gør ved dig. Eksempelvis listeners skal være placeret i din view.

Den måde du så skal koble din gui sammen med din model er ved hjælp af observer-mønstret.

Observer-mønstret går ud på at lave et interface til observers og et interface til observables, altså to interfaces som skal implementeres af hhv. det der skal observere ændringer i modellen (din gui = observer) og det der skal observeres (model = observable).

Så kan du lave metoder i dine interfaces der kobler din gui med alle de observables du har.
Avatar billede usse Nybegynder
03. februar 2009 - 20:52 #2
Stopper her
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