I've been doing a lot of research on dependency injection and service locators (and comparisons between the two). I can definitely see the benefits of dependency injection especially with regards to test driven development. While we don't currently practice test driven development it's a practice I'd like to start implementing on my development team. It is a requirement, however, that nearly all of our database calls must go through a web service. We are more commonly using WCF services than traditional web services for new development projects. What I'm struggling to understand is the idea of injecting the Dataprovider dependency into our webservice.
It doesn't quite make sense to me that the client should have to tell the service where to pull data from. Is it "acceptable" to just have the WCF service be tightly coupled with the Dataprovider? This seems to break the fundamental idea of unit testing without external dependencies. I'd appreciate any feed back on the matter.