Thread Liskovsches Sommerloch
(19 answers)
Opened by rosti at 2025-06-25 09:13
Um das Liskovsche Theorem, daß ein Programm mit der Basisklasseninstanz genauso funktionieren muss wie mit der Subklasseninstanz mal etwas verständlicher zu formulieren:
Nicht die exakte Funktionalität ist dieselbe sondern der Ablauf des Programms. Beispiel Web-Framework, da haben wir stets denselben Ablauf: Ein Request kommt rein, eine Response wird ausgegeben. Daß nicht jede Response denselben Inhalt hat, ist klar, ebenso ist nicht jeder Request derselbe. Einmal wird ein Formular gesendet (POST), ein andermal nur eine Grafik, ein PDF oder ein Text abgerufen (GET). Was mit den Formulardaten gemacht wird, bestimmt die Subklasse, ebenso bestimmt eine andere Subklasse welche Grafik, PDF oder welcher Text ausgeliefert wird. Und da im meinem WebFW die Basisklasse eine abstrakte Klasse ist, habe ich eine Subklasse welche die fehlende Instanz erstellt: Class NotFound, sozusagen eine Default-Class. Anders ausgedrückt: Meine Basisklasse bestimmt nur den Ablauf des Programms, nicht jedoch die Inhalte einer Response oder eines Request. Das Programm muß mit jeder Subklasse funktionieren ohne daß die Basisklasse geändert werden muß. Das entspricht meinem Verständnis. Es kann jedoch sein daß die Liskova etwas anderes meint. Oder daß ich die Liskova falsch verstanden habe. Last edited: 2025-06-26 14:33:28 +0200 (CEST) |