And this is in TypeScript ... we were laughing about that kind of complexity in Java 20 years ago... in Slashdot.
And this is in TypeScript ... we were laughing about that kind of complexity in Java 20 years ago... in Slashdot.
To be fair, "inversion of control" is a great concept, but unfortunately told in a very specific way across time so the meaning now has changed into an inferior form of the original.
That doesn't mean that you need some huge ass meta-framework for it though. Just have your main function assemble the components together, done.
Dependency injection is one form, but even a library that exposes parameters is also a form of inversion of control.
The degree of control is what varies, whether it is a mere flag (boolean), a variant directive (complex struct), a turing complete construct (pointer of instantiated function) or anything in between.
What I am saying is that this concept has been reduced as it is popularized and it isn't doing justice to the original powerful concept.