![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.hogru.ch/api/v3/image_proxy?url=https%3A%2F%2Fprogramming.dev%2Fpictrs%2Fimage%2Faa43d40c-a1ab-48e1-bc89-2f60606741b9.png)
It’s an overloaded term:
“Dependency inversion” is a language-agnostic technique for producing testable, loosely-coupled software.
“Dependency injection” just means dependencies should be passed in through the constructor, instead of being magically new()'d whereever.
“DI frameworks” are Satan’s farts. Classpath-scanning nonsense that turns compile-time errors into runtime errors. Not only is your Ctr still coupled to your Svc, but both are now coupled to Spring.
@armchair_progamer
Awful naming. Forgetting the fortune 500 company you’re already thinking of, there’s already a Meta Lang, abbreviated to ML.
Besides that, does it have any ‘meta’ features? E.g. Homoiconicity?