Je schneller Sie OOP vergessen, desto besser für Sie und Ihre Programme.


Objektorientierte Programmierung ist eine äußerst schlechte Idee, die nur in Kalifornien auftauchen kann.

- Edsger Weebe Dijkstra

Vielleicht ist dies nur mein Gefühl, aber objektorientierte Programmierung scheint das Standardparadigma für das Software-Design zu sein. Er wird normalerweise den Schülern beigebracht, in Online-Tutorials erklärt und aus irgendeinem Grund spontan angewendet, auch wenn sie es nicht tun wollten.

Ich weiß, wie attraktiv sie ist und wie wunderbar diese Idee an der Oberfläche zu sein scheint. Ich habe viele Jahre gebraucht, um ihren Zauber zu zerstören, und jetzt verstehe ich, wie schrecklich sie ist und warum. Dank dieser Sichtweise bin ich der festen Überzeugung, dass die Menschen sich des Irrtums von OOP bewusst sein und die Lösungen kennen sollten, die stattdessen verwendet werden können.

Viele Leute haben zuvor über OOP-Probleme gesprochen, und am Ende dieses Beitrags werde ich meine Lieblingsartikel und -videos auflisten. Aber zuerst möchte ich meine eigene Ansicht teilen.

Daten sind wichtiger als Code


. , .

, : -> -> . ! , , : , . . , , .

, , , . , . Customer? class Customer. ? class RenderingContext.

«» , , , . . .


, . , . FizzBuzz Enterprise Edition — , .

, — . . - , .


, . .

class Customer class Order, . class OrderManager Order, Customer. , , .

, , , .

- , - , , , . Context , - , , - Enterprise.


, . : class Player hits() class Monster, ? hp Monster attackPower Player; xp Player Monster Monster. Player.hits(Monster m) Monster.isHitBy(Player p)? class Weapon? isHitBy Player currentWeapon()?

. , , — . , , Enterprise.


:

— , , . .

, , ( ). : , , , , , . : , .

— , ADT, . , , , .

, , , API .. «»/«»/«». , (Java/Scala) / . , , , , , .

-


: , — (). .

, , , , , , . , .

- . , , , . .


, , . .

?


, « », , .

. , , , . , : ( , ) ..

, . , DataStore API, . ADT/PoD, ID (, uuid ). : Vec HashMap Index ID, «», , . , LRU .

DataStore . . : stdin, , trust manager, .. «» , .. «» DataStore.

: DataStore , .

: , , , , , Customer . : CustomerDataStore, «-» .


, — . , / . , :

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


All Articles