molily: Immer diese blöden Autos

Beitrag lesen

Wobei man sich da vorher fragen sollte, warum die Methode so groß ist und ob da nicht sowieso wegen der Single Responsibility eine eigene Klasse (oder mehrere) zu bilden wäre.

Ja, richtig, sollte man.

Solche Auslagerungsklassen scheinen mir das Problem nur auszulagern, anstatt es richtig zu lösen.

Es ist ein mögliches Refactoring-Pattern unter vielen und ergänzt wie gesagt das Anlegen von Klassen/Objekten im herkömmlichen Sinne. Es ist kein Architektur-Pattern, sondern eine Vorgehensweise, um spezifischen Code zu extrahieren, ohne ihm eine starke Bedeutung im Objektmodell zuzuweisen.

Nicht alles lässt sich streng nach dem OOP-Standardmodell strukturieren, und das Standardmodell alleine verhindert keine riesige Klassen mit langen Methoden. Methodenklassen widersprechen sogar klassischer OOP; hier handelt es sich eher um eine komplexe Funktion im Sinne funktionaler Programmierung (Eingabewerte werden auf Ausgabewerte abgebildet, keine Nebenwirkungen).

Grüße,
Mathias