I am exploring dependency injection and the term composition root is used all over the place. So what is it?
I am exploring dependency injection and the term composition root is used all over
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The composition root is the single place in your application where the composition of the object graphs for your application take place, using the dependency injection container (although how this is done is irrelevant, it could be using a container or could be done manually using pure DI).
There should only be one place where this happens and your container should not need to be used outside of the composition root.
Quoting from one of the answers linked to below:
There is a good answer here which explains a bit more about this.
See also this answer.