 This video was brought to you by my patrons. Thank you so much for your support So this is if you don't don't know about the what is an strategy is basically a design pattern. There is a video on my channel about the strategy design pattern, which is one of the most amazing patterns that we can learn for I will say game development in my case but I think that is a very powerful pattern because especially for I think that it is unique for object oriented design, but the idea of the strategy pattern is to take the idea of polymorphism and really make it an extreme use of the polymorphism. So the idea is that you have an interface with some methods and This creates a family of algorithms. So you create like here. I have like actions, right? I Have actions here and the jump is an action for instance The idea is that jump should walk I don't know crouch. Every action that the player can perform will have the same interface So they will all share the same interface. This means that everything that will ever interact with an action can interact with both the jump and the shoot with the shoot and the move Without even knowing that they are different stuff for the sake of the architecture They will all be considered actions and since actions share the same interface It doesn't matter which action you are dealing with. So if like a control a control object When you press, I know when you press Why you jump when you press B you dash When you press a you jump when you press B you dash So when you are trying to set up this on the computer you create an object that will represent the control and For the sake of this object Everything that will go into these buttons will always be an action and it doesn't matter if it is the jump or the dash so if you want to reconfigure the if you want the player to be able to Change the configuration of the controls for the sake of the the architecture It doesn't matter if we are dealing with if the player wants the The dash to be on the a button or the dash to be on the X button doesn't matter It will always be the same thing all the control needs to do is When you press a it executes it calls a method Which you can call execute or in my case apply You will always call this method So it doesn't matter in which action is here because they will all have this apply or this execute Method to be called. So this is basically the strategy pattern, which is a Generic version of the command pattern as well, which is a more specialized version of the strategy pattern