Consider this scenario. I have some business logic that now and then will be required to write to a log.
interface ILogger { void Log(string stuff); } inte
DI would work nicely here. Another thing to look at would be AOP.