Представь ты приходишь в автосалон, и тебе продают не машину а интерфейс машины. А конкретная реализация подставляется через DI в зависимости от условий: кач. дороги, погода и т.д. При этом иногда вместо машины подставлятся NullCar: машина вроде бы есть, но ее как бы нет.
Ссылка:
http://bash.im/quote/447961