Bisher habe ich auf solche grundlegenden Fragen der Programmstrukturierung keine eindeutige Antwort gefunden. Bei OOP lagere ich die Funktionalität letztlich zwar in viele kleine Funktionen aus, die sich dann aufrufen, aber irgendwo habe ich zentral noch einen Ablauf, der aus einer Reihe von Fallunterscheidungen und Fehlerbehandlungen besteht. Wie lässt sich das sinnvoller lösen?
Es gibt da wohl einen Logikbaum, den man zum Verrecken nicht los wird. ;)
Diesen kannst Du funktions- oder objektorientiert bearbeiten, letzteres fällt dem Menschen offiziell leichter, wenn eine gewisse Komplexität überschritten wird.
Wir raten grundsätzlich funktionsorientiertes Vorgehen, also "Spaghetticode", an. Gerne auch mit GoTos. ;)