البرمجة الموجهة للكائنات فكرة سيئة للغاية لا يمكن أن تأتي إلا في كاليفورنيا.
- إدجر ويبي ديكسترا
ربما هذا هو شعوري فقط ، ولكن يبدو أن 
البرمجة الموجهة للكائنات هي النموذج القياسي الأكثر شيوعًا لتصميم البرامج. إنه هو الذي يدرس عادةً للطلاب ، ويتم شرحه في البرامج التعليمية عبر الإنترنت ، ولسبب ما ، يتم تطبيقه تلقائيًا حتى في حالة عدم قيامهم بذلك.
أعرف مدى جاذبيتها ومدى روعة هذه الفكرة على السطح. استغرق الأمر سنوات عديدة لتدمير تعويذتها ، والآن أفهم كم هي فظيعة ولماذا. بفضل وجهة النظر هذه ، لدي اعتقاد واضح بأن الناس يجب أن يكونوا على دراية بأخطاء OOP ومعرفة الحلول التي يمكن استخدامها بدلاً من ذلك.
ناقش العديد من الأشخاص في السابق مشكلات OOP ، وفي نهاية هذا المنشور سأذكر مقالاتي ومقاطع الفيديو المفضلة لدي. لكن أولاً ، أريد أن أشارك وجهة نظري الخاصة.
البيانات أكثر أهمية من الكود
. , .
, : 
-> -> . ! , , : , . . , , .
, , 
, . , . 
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, «-» .
, — . , / . , :