Optimization, inheritance, and behavior
The Type Object pattern focuses on reusing shared data between objects so we can do away with complicated class hierarchies and adapt for situations when we don’t know all the different objects we want down the line. With that in mind, let’s try and level up our design pattern implementation by:
- Making things safer for ourselves and our team (by controlling access to the type and Typed Object classes)
- Adding optional inheritance (still without class hierarchies)
- Understanding our options for sharing behavior
Controlling allocation and initialization
There may come a time when an object’s allocation and initialization are big players in your performance and player experience. For those occasions, it’s ideal for there to be a single point of access where your monsters are being created. Not only is this safer (because it keeps your AudioManager from creating zombie hedgehogs by accident...