Never ceases to amaze me how much passion calling a constructor can evoke.
I have never, ever, been in a situation where calling constructors was simplified by adding a DI framework.
I have never, ever, been in a situation where calling constructors was simplified by adding a DI framework.
Or need a value from the application config, and have to patch the configuration instance through, several levels of classes deep. After wasting a day or two with those shenanigans, you’ll gladly take the DI framework, which makes both scenarios a single-line, 10 second change.
The one that doesn't does whatever magic you were planning for the DI, does that, then calls the constructor with the arg.