I've heard it argued that the best place for the composition root to live 
in DI is at the application entry point, and I'm wondering exactly what 
that means. Say I've got three projects, Service, Data, and Core, where 
service represents the composition root. The application's entry point 
would be the service project's global.asax, so that's where I'll be 
configuring my container in following with that advice.

My question is- should the service project contain the installers for the 
Data and Core project, or should I have installers in all three projects to 
handle the wiring of intraproject dependencies, and only have cross project 
dependencies and service intraproject dependencies wired in the installers 
in the service project? 

My current thought is that because the goal of these kinds of solution 
architectures is to allow multiple application entry points (for example, a 
UI or Client project might be created to run along side the Service 
project), one wouldn't want to have to have a second set of installers in 
that project to define the wirings for the intra-project Data and Core 
dependencies, so installers should be created in every project to permit 
re-use. 

How do you guys currently handle it? 

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/castle-project-users/-/1bTC1Ixa2U4J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to