Plus vite vous oubliez la POO, mieux c'est pour vous et vos programmes.


La programmation orientée objet est une trÚs mauvaise idée qui ne peut surgir qu'en Californie.

- Edsger Weebe Dijkstra

C'est peut-ĂȘtre juste mon sentiment, mais la programmation orientĂ©e objet semble ĂȘtre le paradigme de conception de logiciel standard et le plus courant. C'est lui qui est gĂ©nĂ©ralement enseignĂ© aux Ă©tudiants, expliquĂ© dans des didacticiels en ligne et, pour une raison quelconque, appliquĂ© spontanĂ©ment mĂȘme lorsqu'ils n'allaient pas le faire.

Je sais Ă  quel point elle est attirante et Ă  quel point cette idĂ©e semble merveilleuse Ă  premiĂšre vue. Il m'a fallu de nombreuses annĂ©es pour dĂ©truire son sort, et maintenant je comprends Ă  quel point elle est terrible et pourquoi. GrĂące Ă  ce point de vue, je suis convaincu que les gens devraient ĂȘtre conscients de l'erreur de la POO et connaĂźtre les solutions qui peuvent ĂȘtre utilisĂ©es Ă  la place.

Beaucoup de gens ont déjà discuté des problÚmes de POO, et à la fin de cet article, je listerai mes articles et vidéos préférés. Mais d'abord, je veux partager mon propre point de vue.

Les données sont plus importantes que le 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 . : Customer — DataStore, «-» .


, — . , / . , :

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


All Articles