Building a Crafting System with the Abstract Factory Pattern
In the last chapter, we built an item production system using the Factory Method pattern, Unity GameObjects
, and reflection. In this chapter, we’ll add some related content focusing on the Abstract Factory pattern for creating factories of factories. While the Factory Method pattern helped us hide the creation process of a single product (or type of product), the Abstract Factory pattern lets us black box the creation process behind families or related groups of products. As we noted in the last chapter, choosing between these two patterns largely depends on the scale and depth of your product hierarchies, but also their relationships to one another.
There are a few varieties the Abstract Factory pattern can take depending on the kind of product families you’re creating and what (if any) relationships those product families need. Like the Factory Method pattern, the interfaces or abstract classes give our...