And class Bar probably also doesn't really care about what specific implementation of SomeService Foo uses. Therefore we push the dependency up again: publicclassBar{ISomeService_service;publicBar(ISomeServiceservice){_service=service;}publicvoidDoSomething(){varfoo=newFoo(_service);foo.DoSomething...