Generating Terrains with the Flyweight Pattern
In the last chapter, we used the Façade pattern to create a one-wall barrier between our client code and numerous interconnected subsystems doing complex tasks. In this chapter, we’ll take a step back from worrying about how our clients communicate with our larger project structures and dive back into the topic of efficiency. This won’t be a completely alien topic if you’ve been working through the previous chapters, but if you haven’t, I’d really encourage you to at least take a peek at Chapter 3, Spawning Enemies with the Prototype Pattern, Chapter 7, Managing Performance and Memory with Object Pooling, and Chapter 13, Making Monsters with the Type Object Pattern, before getting started here. It’s important to understand the intent behind patterns that are closely related in how they approach similar problems – intent is everything!
Like the Prototype, Object Pool, and Type Object...