It's my understanding that this used to be simply referred to as "reference passing" but later became formalized into a pattern that implemented a design principle and acquired the new name. Can you shed some light on the meaning and history?
-
Could this help? History of Dependency Injection (DI) : yauritux.wordpress.com/2011/04/03/…– user66974Jul 17, 2015 at 5:50
-
That's a useful explanation of meaning but it doesn't tell me much in the way of history. Who coined the term for example. @Josh61– candied_orangeJul 17, 2015 at 5:57
-
1Martin Fowler has released a paper on the Dependency Injection pattern. This is his rebranding of the Inversion of Control that we hear so much about in the recent wave of lightweight frameworks. theserverside.com/news/thread.tss?thread_id=23358– user66974Jul 17, 2015 at 6:36
-
1It looks like the expression dependency injection was coined by Martin Fowler: en.wikipedia.org/wiki/Dependency_injection - *Martin Fowler's original article that introduced the term Dependency Injection ...– user66974Jul 17, 2015 at 6:49
-
1@Josh61 Seems like you have enough references for a good answer there.– BarmarJul 17, 2015 at 15:12
1 Answer
It was almost certainly Martin Fowler who coined the term, and other responders have pointed to its first use in publication.
The reason for the choice of term appears to be that the concept of 'injection' was relatively new at the time. Other ways of getting a dependency in a class, such as inline instantiation, are essentially 'creation within', rather than 'insertion from the outside', which is what was new about this concept in the history of best practices for the writing of maintainable code - hence Fowler's 'injection'.
EDIT
This article, written in 2004, is the earliest known usage of the phrase: http://www.martinfowler.com/articles/injection.html#FormsOfDependencyInjection
The concept itself, previously known as the 'Dependency Inversion Principle', was first created by Robert C. Martin, in the mid-90's: http://www.objectmentor.com/resources/articles/dip.pdf
-
1Hi, Sam Burns, and welcome to English Language & Usage. I realize that you may have omitted links to any references connecting Martin Fowler to the term "dependency injunction" in part because Josh61 cites three such references to Fowler in comments beneath the poster's question. However, at this site we especially value self-contained answers, and yours would be stronger and more complete if you linked to one or more references that bring together Fowler and the term in question. Please consider doing so. Jul 29, 2015 at 18:37