A short Introduction to ECS
What is Entiy Component System? ECS is a architectural pattern used mostly in computer games that allows for a greater flexibility in categorizing entities in games (ex : player, enemy, weapon, etc.), and separating the data (the components) from the actual code(the system). The data oriented design is repeatedly gaining ground in the game development industry over traditional OOP because it is more efficient, and if done right it scales better on bigger projects with bigger teams, meaning it's much easier to find bugs, increase performance or to add new systems late in the development process, or even after the game is released. ECS and OOP are mutually exclusive. Some people may argue that elements of OOP can be integrate successfully into ECS paradigm, but the general consensus, and my observations so far is that if you really want profit from the ECS advantages you need to leave all the OOP techniques behind as combining them will not only make things murkier for you