Ex 09 - Aufgabe 2a

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Ex 09 - Aufgabe 2a

Beitrag von Mira` »

Ich habe bezüglich der Aufgabe 1 zwei Fragen, vielleicht kann mir ja jemand weiterhelfen.

1) Die Strategien "Start with newest Card" & "Start with oldest Card" habe ich so interpretiert, dass das Set von Flashcards entweder aufsteigend oder absteigend nach dem Erstellungsdatum der jeweiligen Karte gelernt wird. Ist das korrekt? Weil man könnte auch meinen, dass beispielsweise nur die neueste Karte als erstes gelernt wird, aber der Rest des Sets in der ursprünglichen Reihenfolge bleibt.

2) Wenn ich das Strategy Pattern richtig verstehe/umsetze habe ich ja in dem InputDialog als "SelectionValues" ein Object-Array, der von der jeder implementierten Strategie ein Objekt enthält. Wenn ich das so umsetze, hab ich aber nur die internen Java-Objekt-Namen im Auswahlfeld und eben nicht einschlägige Namen wie "Start with newest card first" etc.! Ich steh da grade ein bissel auf der Leitung...vllt hat ja jemand einen Tipp für mich, wie ich die Objekte im Auswahlfeld mit einem Namen "rendern" kann.
Zuletzt geändert von Mira` am 24. Jan 2011 15:05, insgesamt 1-mal geändert.

eichberg
Dozentin/Dozent
Beiträge: 448
Registriert: 25. Sep 2007 12:12
Kontaktdaten:

Re: Ex 09 - Aufgabe 1

Beitrag von eichberg »

Die Reihenfolge der Karten für newest Card first bzw. oldest card first ergibt sich einfach aus der Reihenfolge in der die Karten hinzugefügt wurden. D.h. einmal von vorne nach hinten und einmal umgekehrt.

D.h. so sollen die Karten nicht ausgegeben werden:
Weil man könnte auch meinen, dass beispielsweise nur die neueste Karte als erstes gelernt wird, aber der Rest des Sets in der ursprünglichen Reihenfolge bleibt.

Sie sollen das Strategypattern verwenden, um die Reihenfolge zu bestimmen, in der die Karten angezeigt / gelernt werden sollen. Dies ist vom dem Auswahldialog völlig unabhängig.

Benutzeravatar
_andreas
Windoof-User
Windoof-User
Beiträge: 37
Registriert: 13. Okt 2009 13:45
Kontaktdaten:

Re: Ex 09 - Aufgabe 2a

Beitrag von _andreas »

Ich bin mir gerade etwas unsicher wo die Strategieklasse "greift". Es gibt ja mehrere Punkte wo sie eingreifen könnte, um ihre Strategie entsprechend umzusetzen.
Die FlashcardSeries wird erstellt, im Falle unseres Programms entweder aus einer Datei oder von den Beispielinhalten.
Soll die Strategieklasse also Zugriff auf die interne Flashcard Liste von FlashcardSeries bekommen um diese vorzusortieren vor dem eigentlichen Lerndialog, was bedeutet dass die FlashcardSerie dann auch in der "strategisch sortierten" Form gespeichert wird oder soll die Strategie bei der Anzeige der FlashcardSeries greifen, also die Liste der JList Komponente entsprechend sortieren oder soll das next() unabhängig von dem Zustand der Flashcard Liste die nächste Karte laut Strategie anzeigen?

Wie die Klassen auszusehen haben nach dem Design Pattern da habe ich schon eine Vorstellung und denke dass ich sie auch dementsprechend implementiert habe. Nur ob der Zugriff auch nach einem bestimmten Schema verlaufen soll ist mir noch etwas unklar.

Benutzeravatar
prOud
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 31. Okt 2007 16:29
Kontaktdaten:

Re: Ex 09 - Aufgabe 2a

Beitrag von prOud »

zu 2.

jan meinte das so: bei uns wird im DROPDOWN-MENU das Objekt samt Pfad angezeigt und nicht ein Text.
also zb de.tud.ce.se.flashcards.lernstrategies.OldestCardFirstStrategy

wie setzt man an diese Stelle einen Text der auf dieses Objekt verknüpft

f_m
Windoof-User
Windoof-User
Beiträge: 25
Registriert: 21. Okt 2008 17:08

Re: Ex 09 - Aufgabe 2a

Beitrag von f_m »

Hallo,

JOptionPane.showInputDialog(...) benutzt zum darstellen des ihm übergebenen Object[] die toString() Methode der Objekte. Wenn ihr also ein Array von Strings übergebt werden einfach diese dargestellt (...die toString() Methode eines Strings liefert sich selbst zurück...). Wenn ihr ein Array von anderen Objekten übergebt, dann werden diese Objekte auch durch ihre toString() Methoden dargestellt - es bietet sich also an, diese zu überschreiben.

flo

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Re: Ex 09 - Aufgabe 2a

Beitrag von Mira` »

@f_m: Danke dir. Genau das war der Punkt wo ich auf der Leitung stand. Mir war nicht klar, dass die Objekte über die toString()-Methode "gerendert" werden. Danke vielmals.

Antworten

Zurück zu „Archiv“