Ü10 Nr1: javax.swing.tree.TreeNode

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

Ü10 Nr1: javax.swing.tree.TreeNode

Beitrag von SupeRalF »

Hi,
Ich würde gerne das vorgegebene Interface IFlashcardSeriesComponent von javax.swing.tree.TreeNode erben lassen, um eine ordentliche Baumstruktur aufzubauen um die Struktur besser in die GUI zeichnen lassen zu können. Alle Klassen, die zur Erfüllung des Composite Patterns notwendig sind, würde ich natürlich genau wie in den Folien beschrieben aufbauen.
Ist das ok, wenn ich das mache, also noch das Template Pattern parallel anwende?

Gruß
SupeRalF

Edit: ich habe es einfach mal gemacht. Leider bekomme ich beim Speichern und Laden meiner Karten den Fehler, meine Composite Klasse sei nicht Serializable. Muss ich das noch reparieren, oder ist das ok, wenn ich das so lasse?

mitschke
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 184
Registriert: 10. Okt 2008 16:09

Re: Ü10 Nr1: javax.swing.tree.TreeNode

Beitrag von mitschke »

Alle Klassen, die zur Erfüllung des Composite Patterns notwendig sind, würde ich natürlich genau wie in den Folien beschrieben aufbauen.
Ist das ok, wenn ich das mache,
Das ist okay, solange die geforderte Funktionalität damit umgesetzt wird und das Composite Pattern eingehalten wird.
Prinzipiell kann man sich überlegen, ob man das trennen möchte, da man sich damit in seiner Implementierung des Domänenmodells auf ein Swing spezifisches Interface festlegt. Andere Gui-Toolkits würden sicherlich ihre eigenen Interfaces benötigen.
also noch das Template Pattern parallel anwende?
Mich würde interessieren, warum du hier ein Template (Method?) Pattern siehst.
Dieses Pattern sehe ich in deinem Vorschlag nicht ;-)
Edit: ich habe es einfach mal gemacht. Leider bekomme ich beim Speichern und Laden meiner Karten den Fehler, meine Composite Klasse sei nicht Serializable. Muss ich das noch reparieren, oder ist das ok, wenn ich das so lasse?
Die Funktionalität aus der Initalen Vorgabe der Anwendung (also auch Speichern und Laden) sollte auf jeden Fall erhalten beleiben.
Wir haben einen Vorschlag zur Serialisierung in der Klasse Store mitgeliefert. Diese erfordert natürlich, dass die Implementierung des Composite Patterns Serialisierung unterstützt.
Dipl.-Inform. Ralf Mitschke <mitschke@st.informatik.tu-...>

Software Technology Group

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

Re: Ü10 Nr1: javax.swing.tree.TreeNode

Beitrag von SupeRalF »

mitschke hat geschrieben: Die Funktionalität aus der Initalen Vorgabe der Anwendung (also auch Speichern und Laden) sollte auf jeden Fall erhalten beleiben.
Wir haben einen Vorschlag zur Serialisierung in der Klasse Store mitgeliefert. Diese erfordert natürlich, dass die Implementierung des Composite Patterns Serialisierung unterstützt.
Alles klar, schon geschehen. Wenn man dran denkt, dass man die Klassen, von denen man erbt, mit Kommata trennen muss, ist das gar nicht mehr so schwer :roll:
mitschke hat geschrieben: Mich würde interessieren, warum du hier ein Template (Method?) Pattern siehst.
Dieses Pattern sehe ich in deinem Vorschlag nicht ;-)
Hm, das hat mich jetzt stutzig gemacht. Ich dachte, dadurch dass ich von TreeNode erbe und die Funktionen in IFlashcardSeriesComponent und meiner Composite und Leaf Klasse implementiere, hätte ich ein Template Method Pattern.
Mag mir jemand erklären, wo mein Denkfehler ist?

mitschke
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 184
Registriert: 10. Okt 2008 16:09

Re: Ü10 Nr1: javax.swing.tree.TreeNode

Beitrag von mitschke »

Hm, das hat mich jetzt stutzig gemacht. Ich dachte, dadurch dass ich von TreeNode erbe und die Funktionen in IFlashcardSeriesComponent und meiner Composite und Leaf Klasse implementiere, hätte ich ein Template Method Pattern.
Mag mir jemand erklären, wo mein Denkfehler ist?
Schau mal welche Klassen und Methoden im Template Method Pattern vorkommen und welche Rollen die Klassen und Methoden in deiner Implementierung einnehmen würden.
Das ist übrigens auch eine gute Vorgehensweise bei der Klausur, da können solche Aufgaben dran kommen ;-)
Dipl.-Inform. Ralf Mitschke <mitschke@st.informatik.tu-...>

Software Technology Group

jlerch
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 148
Registriert: 18. Okt 2005 14:45

Re: Ü10 Nr1: javax.swing.tree.TreeNode

Beitrag von jlerch »

SupeRalF hat geschrieben: Hm, das hat mich jetzt stutzig gemacht. Ich dachte, dadurch dass ich von TreeNode erbe und die Funktionen in IFlashcardSeriesComponent und meiner Composite und Leaf Klasse implementiere, hätte ich ein Template Method Pattern.
Mag mir jemand erklären, wo mein Denkfehler ist?
Ich zitier mal die Folien:
Define a skeleton of an algorithm in an operation, but defer some steps to subclasses
Wo siehst du ein skeleton im Interface TreeNode? Ein Interface kann unmöglich Teile bereits vorimplementieren und andere Schritte an Subklassen delegieren.


//edit: Okay Ralf, diesmal warste schneller ;-P

Antworten

Zurück zu „Archiv“