Konvertierung zur spezielleren Expression

Verhältnis zu Design by Contract

Constraint-Code-Generator

void xxxMethod( final ORB_Z_N_ORE constraint ) { constraint.new EbeneSwitch(){ protected void doZ( ZConstraint constraint ) { ...Code (???Black Box???)... } protected void doN( NConstraint constraint ) { ...Code (???Black Box???)... } }.doSwitch(); } In der Methode wird der sichere Switch aufgerufen. Alle Zweige, die sich aus dem ursprünglichen Constraint ergeben, müssen implementiert sein. Die Bodies der case-Methoden bleiben Black Boxes (Prinzip rekursiv anwendbar) Der Body der Hauptmethode ist etwas transparenter (grau).
Anfang weiter