I am currently new to Dependency Injection pattern. I am influenced by link by Mark Seemann. I have a confusion regarding whether an interface for an agent class of some agent module should be included in domain layer?by agent I mean a class / module that interacts with external wcf/ webservices.I have a diagram that shows it. In short, is it Ok to have:IProductAgent interface in Business layer where the actual implementation will be in an Agent Module.The confusion arises by the fact that:  Is calling a service even considered a business rule?Today a service fulfills a facility, tomorrow there might be some another means of catering this same facility. Liskov's Substitution Principle.Apologies if I am mixing things here.
Architecting Domain Layer and other modules with dependency injection in mind
design patterns;architecture;object oriented design;dependency injection;design
Yes, the domain layer may have external dependencies where the dependencies are defined by interfaces. Taking this approach makes the domain layer ignorant of the actual implementationErik Evans who defined Domain Driven Design does in fact use this approach in his book to be able to load domain entities from a data source.