Über OOP


Je mehr ich über OOP lese, desto mehr habe ich das Gefühl, dass OOP nicht nur von allen verstanden wird. Ein anderer Artikel ist ein Beispiel dafür .


Hier können Sie die Absurdität der Argumentation im obigen Artikel für eine lange Zeit beschreiben. Im Allgemeinen kann der gesamte Artikel jedoch wie folgt buchstäblich durchgestrichen werden.


Weiter


Mit der zunehmenden Komplexität von Software entstand die Notwendigkeit, die Komplexität zu isolieren und in Teile zu zerlegen. Nur in Stücke zu hacken, wird nicht funktionieren, weil Beim Anschließen der Teile tritt ein Problem auf. Und dann kamen kluge Leute auf die Idee: Lassen Sie uns die Teile so isolieren, dass der äußere Teil wichtig ist und nicht wie er im Inneren angeordnet ist. Das heißt, Sie müssen nicht über Mechanismen nachdenken, sondern nur über Verträge.


OOP


Dies nennt man OOP, und es war die Isolation der Komplexität, die gewissermaßen zur Revolution führte, weil es wurde möglich, viel komplexere Programme zu schreiben.


Alles andere ist eine Transfusion von leer zu leer, einschließlich Zitaten aller bekannten und angesehenen Personen. Das Problem mit OOP ist, dass sie anfangs über eine Sache nachdachten, aber dann kamen die Praktizierenden und änderten alles für ihre Bedürfnisse, weil Programme müssen nicht morgen oder übermorgen geschrieben werden, sondern heute. Besser noch, gestern.


Was OOP heute geworden ist, ist das Ergebnis eines Missverständnisses der Ziele der Softwareentwicklung: der Kampf gegen die Komplexität . Es ist einfach so passiert, dass das Gehirn nicht alle Aspekte und Teile des Systems berücksichtigt, wir können nur einen kleinen Teil halten. Daher ist der Kampf mit der Komplexität der Treiber und die Motivation für die Schaffung neuer Paradigmen. Darüber hinaus kann dies ein Kriterium für die richtige Wahl des Paradigmas sein: wie einfach und verständlich der resultierende Code ist.


Insgesamt


Die Hauptsache bei der Programmierung ist also nicht die Verwendung neuer oder altmodischer Praktiken, sondern die korrekte Kontrolle der Komplexität in jedem Teil des Systems.


Nützliche Links:


[1] Joe Armstrong über Elixir, Erlang, FP und OOP . Hier ist ein erstes Verständnis von OOP, das sich anschließend unter dem Einfluss von C ++ und Java transformierte. Das ursprüngliche OOP wird jetzt als Schauspieler-Modell bezeichnet.
[2] Asynchronität 3: Subjektives Modell . Aus praktischer Sicht, wie man OOP und das Akteurmodell kombiniert, nachdem man ein neues Paradigma erhalten hat, einschließlich der vorherigen.

Source: https://habr.com/ru/post/de452462/


All Articles