converted to 1.6 markup
|Deletions are marked like this.||Additions are marked like this.|
|Line 1:||Line 1:|
= Dependency Injection Pattern =
The Dependency Injection Pattern, is described in [[http://www.martinfowler.com/articles/injection.html|Martin Fowler's article]]. It is closely related to the DependencyInversionPrinciple and the so called Inversion of Control (IoC) containers.
IoC is aimed at loosening the coupling of application components. The key concepts are:
* Components do not know each other directly.
* Components specify external dependencies using some kind of a key.
* Some "superior instance" (the IoC container, for example) resolves the dependencies once for each component and hereby "wires" the components together.
It is quite a challenge to implement an IoC container for statically typed languages. In python, however, the core concepts can be implemented quite easily. [[http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/413268|DependencyInjectionThePythonWay]] describes how.
== See Also ==
[[http://peak.telecommunity.com/DevCenter/InversionOfControl|PEAK:InversionOfControl]] -- Inversion of Control is a more general concept (small components relinquishing control, or networking control, rather than maintaining it internally,) but the name was overloaded historically to mean what is named by DependencyInjectionPattern. [[PEAK]] makes use of dependency injection, and the larger meaning of "Inversion of Control." The target page describes dependency injection.
== Discussion ==
|My name: Monika Buxton<<BR>>
Age: 23 years old<<BR>>
City: [[https://Www.gov.uk/search?q=Moulins|Moulins]] <<BR>>
Street: 66 Rue Des [[http://www.tumblr.com/tagged/Coudriers|Coudriers]]<<BR>>
Also visit my website: [[http://assassinscreedblackflag4.blogspot.com|assassins creed blackflag french download]]