Model View Control with Java Beans and UML Lab

Marschal

Großer Enumerator
Hallo Community,

nach nun langer passiver Aktivität hier im Forum melde ich mich nun mit einem scheinbar komplett neuem Problem (zumindest ergaben meine Recherchen nichts sinnvolles).
Ich hab das Thema mal zu Swing und SWT eingeordnet, da meine GUI damit aufgebaut ist. Prinzipiell handelt es sich hier aber doch eher um das Deign-Pattern MVC.

Zum Problem:
Für eine Server-Client Anwendung, die mit Java (in Ecplise) gebaut werden soll, möchte ich das MVC-Design-Pattern implementieren. M und V stehen soweit, nur das C bereitet mir Sorgen:)

Für das Datenmodell habe ich UML Lab verwendet. Nun haben wir mal in der Uni mit Java Beans, jedoch in Fujaba (statt UML Lab) gearbeitet, und ich weis nicht wie ich UML Lab so konfigurieren kann, dass es mir die Java Beans (oder vergleichbares) implementiert, und ich im Controller auf solche Sachen wie PropertyChangeListener zugreifen kann.

Auch über alternative Lösungen und Diskusion zu dem Thema würde ich mich freuen:)

MfG Marschal

@EDIT: Problem Gelöst. Lösung hier.
 
Zuletzt bearbeitet:

genodeftest

Erfahrenes Mitglied
Ob das UML Lab das kann, weiß ich nicht. Frag doch mal direkt beim Hersteller an, die können normalerweise binnen einem Werktag antworten (meine Erfahrung).
Bekommst du „normalen“ Java-Code von UML Lab geparst?
 

Marschal

Großer Enumerator
EDIT: Problem Gelöst

Hier ein kleines Tutorial, bzw How2 dazu:


Einleitung:

Uml Lab ist an sich ein sehr starkes Tool und bietet einem prinzipiell auch die Möglichkeit​
eingene Code Styles zu definieren, also wie der Code generiert wird. Jedoch ist dies sehr aufwändig, um es konsequent und persistent durchzuziehen.
Daher gibt es im Eclipse Marketplace einen Fujaba Addon für UML Lab. Fujaba ist ein opensource UML Tool, von der Uni Paderborn, Kassel und Anderen. Jedoch ist Fujaba als Standalone nicht sehr Nutzerfreundlich und zu empfehlen. Daher UML Lab.
Zum Glück bieten die Unis eben dieses Addon für UML Lab an, was quasi den Fujaba CodeStyle in UML Lab zur verfügung stellt, und so die CodeGenerierung anpasst. Ohne jetzt näher auf Fujaba einzugehen, hier eine kurze Beschreibung was passiert.
So werden (optional) zu einem an das mit UML Lab erstellte Datenmodell die JavaBeans angehangen, welche ermöglichen das MVC-Pattern zu implementieren. Also im Controller die Listiner zu implementieren, die nicht nur auf ChangeEvents aus der GUI, sondern auch aus dem Datenmodell reagieren (War meine Problemstellung). Desweiteren implementiert Fujaba noch eine nützliche Funktion bei 1 zu n bzw n zu m Beziehungen zwischen den Klassen. So implementiert der Fujaba CodeStyle die Set und Get Methoden der Rollen-variablen so, dass die Rückrichtung immer automatisch überprüft und gesetzt wird. So vergisst man diese nie, und es kommt nicht zu "Speicherleichen" beim Löschen der Objekte (Da man so eventuell nur den Hin-Zeiger Löscht, aber die Rückrichtung vergisst).


Also wie installiert und benutzt man das Ganze? Ungefähr so:

UML Lab instalieren:
  1. Eclipse > Help > Marketplace (unter Mac)
  2. "UML Lab" (von Yatta Solutions) suchen und installieren
Fujaba CodeStyles installieren:
  1. Eclipse > Help > Install New Software (unter Mac)
  2. "UMLLab - http://update.uml-lab.com/" aus dem Dropdown auswählen
  3. unter "UML Lab - Additional Code Styles" > "UML Lab Templates for the Fujaba Tool Suite" auswählen
  4. Dialog befolgen, installieren, fertig.
Fujaba und JavaBeans im UML Projekt verwenden:
  1. UML Diagramm öffnen > im PropertyWindow > Reiter CodeStyles > Fujaba auswählen
  2. für jede Klasse im Diagramm in dem Feld KeyWords "JavaBean" eintragen (für alle Klassen!)
  3. Code neugenerieren, fertig.
 
Zuletzt bearbeitet: