Na, ich würde auch dann keinen Kunden ableiten, sondern die Strategy verwenden (mit der Factory, fertig).
In solch einem Fall hab ich verschiedene TCustomer Nachfahren, die jeweils die GetRabatt Methode überschreiben.
Da fiele mir allerdings als erstes das Strategy Pattern ein.
Wie schon gesagt, das Beispiel hinkt, ein einziger numerischer Wert, der sich unterscheidet, rechtfertigt kaum verschiedene Klassen.
Aber lasst uns ruhig noch nen bisschen auf dem Beispiel rumreiten, bis wir den eigentlichen Sinn davon wieder vergessen haben