The Simple Factory pattern
The Entity-Component pattern, along with using composition in preference to inheritance, sounds great at first but brings with it some problems of its own, not least of which that it exacerbates all the problems we've discussed. This means that our new GameObject
class would need to "know" about all the differentcomponents and every single type of object in the game. How would it add all the correct components to itself?
It is true that if we are to have this universal GameObject
class that can be anything we want it to be, whether it's a Diver
, Patroller
, PlayerShip
, PinkElephant
, or something else, then we are going to have to code some logic that "knows" about constructing these super flexible GameObject
instances and composes them with the correct components. But adding all this code to the class itself would make it exceptionally unwieldy and defeat the entire reason for using the Entity-Component pattern in the first...