Declaring our inventory products
Imagine you are building an open-world RPG with a long list of in-game items, like health items, weapons, and armor. You and your team need a system for creating items from a central access point but don’t want the actual instantiation logic in the client code. You also need to be able to change what types of items are created using subclassing. As you go, you’ll want to display all available items in a UI list of buttons and execute actions when each button is pressed.
Adding a product interface
The first component of the Factory Method pattern is a product interface, which in our scenario needs to be implemented by all in-game items. This is going to let us create any number of concrete products, or items, as we go along.
Open the Scripts folder and create a new C# script named Item
, then update the code to match the following code. The IItem
interface is pretty sparse since we only need an Equip
method for every item to...