4 ms·
What do all these things have in common? They are all 'component oriented' architectures and DI is required for systemic treatment of [3rd party] components. (B
by eternalban 5y ago
What do all these things have in common? They are all 'component oriented' architectures and DI is required for systemic treatment of [3rd party] components. (Btw add J2EE to your list.)
DI allows a generic runtime to instantiate and compose component graphs [via declarative initialization contexts]. The idea was we'd have reusable components. Somewhere along the line came Spring ("J2EE is too complex" lol) and before you knew it, any old application was using DI and now (per a scan of comments in this thread) everyone is quite confused what is the purpose of "passing variables to your functions" in this obscure manner.
- pjmlp 5y agoJ2EE started as a Objective-C framework and was ported to Java as Sun ramped down their OpenSTEP efforts. > NEO was re-positioned as a Java system with the introduction of the "Joe" framework,[2] but it saw little use. Components of NEO and Joe were eventually subsumed into Enterprise JavaBeans https://en.m.wikipedia.org/wiki/Distributed_Objects_Everywhere https://en.m.wikipedia.org/wiki/Distributed_Objects_Everywhe... And we did just the same with objects factories and directories on the listed technologies.
- eternalban 5y agoThanks, didn't know this bit of history.