Wenn Sie zurückdenken, warum OO erfunden wurde, werden Sie feststellen, dass Sie OOP überhaupt nicht brauchen , aber manchmal macht es Ihr Leben viel einfacher.
In den Tagen der C-Codierung konnte ein sehr umfangreiches Programm ziemlich unübersichtlich und schwierig werden, weiterzuarbeiten. Also erfanden sie Möglichkeiten, es in modulare Blöcke aufzuteilen. OOP verfolgt diesen Ansatz und macht ihn noch modularer, indem es die Daten mit diesen Programmlogikblöcken kombiniert, um sie noch weiter vom Rest des Codes zu trennen.
Auf diese Weise können Sie immer größere Programme schreiben und sicher sein, dass Sie Ihren riesigen Elefanten von einer Aufgabe in eine Aufgabe von 100 Mäusen verwandelt haben. Der zusätzliche Bonus ist, dass Sie einige dieser "Mäuse" nehmen und sie in anderen Programmen wiederverwenden können!
Natürlich ist die reale Welt nicht ganz so, und die Wiederverwendung von Objekten hat sich nie in der beabsichtigten Weise durchgesetzt, aber das bedeutet nicht, dass es ein nutzloses Paradigma ist.
Was unbrauchbar ist, ist eine zu starke Abhängigkeit von beiden Codierungsarten. Jeder, der OO mit tausend winzigen, unbedeutenden Klassen durchführt, macht es nicht richtig - er macht für sich selbst (oder für jemanden anderen) einen Wartungs-Albtraum. Wer eine prozedurale Anwendung mit nur drei Funktionen schreibt, macht auch das Leben schwer. Der beste Weg sind die mittelgroßen, großformatigen Objekte (manchmal auch als Komponenten bezeichnet), die eine Menge eigenständigen Codes und Daten liefern können, die mit größerer Wahrscheinlichkeit wiederverwendet werden isoliert von dem Rest Ihrer App.
Mein Rat für das nächste Mal: Versuchen Sie, Ihren üblichen Prozedurcode zu schreiben, aber erstellen Sie ein einzelnes Objekt Ihrer Hauptdatenstruktur. Sehen Sie, wie Sie feststellen, dass es einfacher ist, damit zu arbeiten, als Daten von Funktion zu Funktion weiterzugeben.