Cuanto más rápido se olvide de OOP, mejor para usted y sus programas.


La programación orientada a objetos es una idea extremadamente mala que solo podría surgir en California.

- Edsger Weebe Dijkstra

Quizás esto sea solo mi sensación, pero la programación orientada a objetos parece ser el paradigma de diseño de software estándar y más común. Es él quien generalmente se enseña a los estudiantes, se explica en tutoriales en línea y, por alguna razón, se aplica espontáneamente incluso cuando no lo iban a hacer.

Sé lo atractiva que es y lo maravillosa que parece ser esta idea en la superficie. Me llevó muchos años destruir su hechizo, y ahora entiendo lo terrible que es y por qué. Gracias a este punto de vista, tengo la clara creencia de que las personas deben ser conscientes de la falacia de la POO y conocer las soluciones que se pueden utilizar en su lugar.

Muchas personas han discutido previamente los problemas de OOP, y al final de esta publicación enumeraré mis artículos y videos favoritos. Pero primero, quiero compartir mi propia opinión.

Los datos son más importantes que el código.


. , .

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

, , , . , . 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/451982/


All Articles