Honestly, the entity component design pattern is just the strategy pattern but for video games, but I'm not sure how efficient it is to store objects by giving them IDs and storing them in a hashmap. At that point, you are treating game objects like entries in a SQL database.
@icedquinn I normally don't store objects in arrays. I use lists/vectors.
But I'm sick of repeated code. It's either that or have HUGE parent classes and honestly, I'm seeing more advantages of composition over inheritance.