Typically, in the vast majority of cases, for any non-trivial number of classes, you need some kind of dependency injection. The overhead of dependency injection (using any method) will be overshadowed by the resources needed to parse a bunch of classes that will not be used in a particular query.
Much has been written about how to efficiently manage load classes as needed.
timdev
source share