Хорошие ответы и хорошие примеры уже даны другими здесь.
причина , DIP важен, состоит в том, потому что это гарантирует, что принцип OO "слабо связал дизайн".
объекты в Вашем программном обеспечении не должны входить в иерархию, где некоторые объекты являются верхнего уровня, зависящими от объектов низкого уровня. Изменения в объектах низкого уровня будут тогда слегка колебаться - до Ваших объектов верхнего уровня, который делает программное обеспечение очень хрупким для изменения.
Вы хотите свои объекты 'верхнего уровня' быть очень стабильными и не хрупкими для изменения, поэтому необходимо инвертировать зависимости.
If you can get WS-MAN set up, PowerShell remoting and/or pmodem might be your ticket? http://www.nivot.org/2009/11/02/PowerShell20IntroducingThePModemFileTransferProtocol.aspx (Alternate link: http://www.nivot.org/blog/2009/11/default )