Typsystem - wie realisieren



  • Hallo,

    ich arbeite momentan an einem Auswahlsystem, wobei ich beim Typsystem (zur Filterung/Sortierung) nicht weiterkomme.

    Grundlegend habe ich eine Basisklasse Course, die 2 Kindklassen SemesterCourse und AlternativeCourse hat. Jeder Course besitzt einen Typ, wobei selbstverständlich mehrere konkrete SemesterCourse den selben Typ haben können etc.
    Nun ist es so, dass die SemesterCourse jeweils ein Semester haben und je nach Semester in einer Liste angezeigt werden. (also mit Sem 1 in Liste 1...)
    Wenn nun ein Kurs in einer Liste ausgewählt wird, müssen die anderen Listen bzw Kurse gefiltert werden. Beispielsweise ist es denkbar, dass der Typ vorschreibt:
    - kein Kurs dieses Typen darf mehrmals gewählt werden
    - kein Kurs diese Typen darf mehr als 3 mal insgesamt (also in max 3 Semester) gewählt werden

    weitere Varianten sind denkbar, allerdings im Moment nicht implementiert.

    Jetzt weiß ich allerdings überhaupt nicht, wie ich sowas am besten implementieren kann, so dass es einfach erweiterbar (bei weiteen Filterkriterien) bleibt.
    Was hättet IHR da für Ideen?



  • ich würde einen filtermanager machen, dem man einen ausgewählten kurs übergibt, dann erstellt der einen filter (z.b. filter der alle anderen vom gleichen typ ausschließt) und speichert den filter in ner liste. dann gibts du die liste mit allen kursen dem filtermanager und der deaktiviert/filtert die kurse mit dem filter in der liste matchen.
    übergibt man dem filtermanager nen weiteren kurs werden die filter angepasst bzw. ein neuer erstellt (z.B. max 3 vom Typ und einer ausgewählt). übergibt man noch so einen kurs wird der "max 3 vom Typ" auf "zwei ausgewählt" gesetzt. und die liste mit allen kursen wird jedesmal wieder gefiltert.


Anmelden zum Antworten