Forbinde gui og model
Jeg har brug for lidt vejledning omkring udarbejdelse af gui mm.Jeg har en applikation der groft er opdelt i følgende klasser
GUI, frames menubar mm
LOGIK: foretager beregninger, xmlparser mm. Disse klasser skal kunne benyttes til andre applikationer end den jeg pt udvikler.
"Publisher": denne klasse forbinder GUI og LOGIK laget, samt indeholder den "model" der arbejdes med.
Jeg har prøvet at kigge på MVC eksempler, men jeg synes meget tit at model+controller bliver slået sammen i et.
Nu er det så jeg bliver lidt i tvivl. Jeg har altid hørt at GUI skal være "dum".At der ligger logik i gui som tester hvornår noget skal vises eller ej, kan vel dårligt undgås, men når GUI begynder at kalde funktioner i modellaget så er det jo meget specifikt, og det vil vel kræve omskrivninger af gui for at genbruge den kode i en ny anderledes applikation.
Nå, men som jeg har det nu har de gui klasser der skal udføre ændringer på modellen, en reference til Publisher klassen. Alle events der vedrører ændring af modellen, nye beregninger, gentegning af model etc sendes videre til publisher klassen.
eksempel fra en gui klasse der håndterer et museclick
publisher.handlePopUpEvent(x,y,Publisher.POPM1EVENT2);
Så sørger Publisher klassen for at kalde metoder i LOGIK laget og eventuelt opdatere guilaget.
Jeg kan selv se fordele/ulemper ved denne konstruktion
Fordele:Der kan holdes styr på guis tilstand
Store dele af GUI vil kunne benyttes umiddelbart af andre Publisher klasser
Ulemper:langsom Listener eksekvering
Svært at læse hvad der sker i gui koden
??????
Jeg er klar over dette er et MEGET abstrakt spørgsmål og håber da også bare på lidt guldkorn
