I am developing a NuGet package which contains shared code for various ASP.NET Core projects. I am planning to use the strategy pattern to solve the same problem in a few different ways. So there will be a few different implementations of a common interface. See - https://deviq.com/design-patterns/strategy-pattern
My question is - should the consumers of this package select the specific strategy they wish to utilize via a registration with the IoC container? I know that some NuGet packages just use static methods (e.g. JsonConvert.DeserializeObject), but I would like to avoid this since I have multiple, valid, differing implementations, and I would like the consumers of the package to be able to choose between them.

