In the preceding code example, the client class acts like a spawner that randomly assigns a strategy to a new drone instance. This could be an interesting approach for a real-world use case. But there are many other approaches we could have used to choose which strategy to assign to a drone. It could be based on specific rules and factors that are only known at runtime. Therefore, it's not limited to randomness but can also be deterministic and rule-based.




















































