Toon posts:

OO programmeren met GUIs

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik zit met het volgende probleem,
tot nu toe hebben wij in onze lessen visueel programmeren (java), gewerkt met 1 klasse waar we zowel alle delen van de GUI als alle andere delen van het programma (datastructuur, eigenlijke methode,...) in 1 klasse stopten, deze klasse deden we dan van JFrame overerven, dit werkt allemaal perfect natuurlijk, maar druist wel in tegen de regels van OO programming en inkapseling.
Ik wil dus voor de volgende opdracht, mijn GUI, en de rest van het programma (kzal het core klasse noemen) volledig delen, ook wil ik enkele apparte klasses maken die zulllen fungeren als luisteraars.
Op zich is dit allemaal goed te begrijpen, maar ik blijf nie met 1 probleem zitten, hoe breng ik al die klasses samen.
Moet ik objecten van de GUIs (ik gebruik twee afzonderlijke GUI-klassen) aanmaken in de core-klasse, of omgekeerd.
En de luisteraars, hoe kan ik ervoor zorgen dat deze zowel invloed uitoefenen op de core als op de GUIs, moet ik dan aan de luisteraar zowel een object megeven van de hoofdklasses, als van de bijklassen, of enkel een object van de hoofdklasse, en dan metods in de hoofdklasse die de bijklasses kunnen manipuleren.

Alvast bedankt

Verwijderd

Kijk eens in het boek Design Patterns van Gamma ea naar het Model-View pattern.

Of zoek er even op in Google, dit pattern geeft een goede leidraad voor het implementeren van UI's in OO-style.

Hoop dat dit een beetje helpt.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

MVC is inderdaad een van de oplossingen. (Je zou bv ook voor PAC kunnen gaan). Maar mvc is wel het meest toegepaste in java.

M staat voor model. Hier plaatje je data en je logica over die data.

V staat voor view en is de visualisatie van je data.

C staat voor controller en is de tussen laag tussen je model en je view. Meestal is de controller bij de view geintegreerd. (Niet bij complexere stucturen)

Ik zou dus ook gaan voor MVC. Er zijn op java.sun.com meer dan genoeg article erover te vinden. Op javaworld staan ook wel een paar leuke stukken erover.