Ich mache selber immer noch zu viele Anfänger- und Deppenfehler um zu laut Ratschläge geben zu dürfen, aber:
- Ich kann mir nichts vorstellen dass es rechtfertigen würde, nicht von einer bereits vorhandenen und vielfach eingesetzten Standardklasse abzuleiten. Warum sollte man das Rad nochmal neu erfinden?
Ja, TList<> verwenden ist sicher richtig, wie Lemmy sagte allerdings nicht davon ableiten sondern sie private Variable intern als Datenspeicher nutzen, und nach aussen nur fachlich notwendige Methoden veröffentlichen (Hinzufügen/Entfernen/Suchen).
Genau das:
- Grade bei weiteren Spezialfälle solltest du nicht von einer Liste ableiten, sondern an eine Liste (oder irgendeinen anderen Container) delegieren. Ob das Prinzip einen schnieken Namen (oder Abkürzung) hat weiß ich nicht.
Information hiding
, aber auch Open/Closed Prinzip