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.