Abstracting Our Singleton
Our goal is to make our Singleton abstract so it can be less aware of the items that it is controlling, thereby opening the doors for us to change the interface that will be used.
- Understand the key to making flexible designs, which is Abstraction
- Learn why everything doesn't need to be planned in advance
- Modularly update components to fit changes