Возможные дубликаты:
Интерфейсы: зачем Кажется, я не понимаю их?
Как я узнаю, когда создавать интерфейс?
Я использую C # и знаю, что такое интерфейсы, как их использовать синтаксически и т. Д. но я еще не понял, что когда мне поручают написать проект, создать компонент, ... Как мне лучше узнать об интерфейсах, чтобы, когда я хочу что-то сделать, я мог подумать об их использовании в моем дизайне ... или, например, я хочу узнать о внедрении зависимостей или даже об использовании имитирующих объектов для тестирования, все это связано с хорошим пониманием интерфейсов и знает, когда и как их использовать ... Не могли бы вы дать мне хороший совет, чтение, ... тогда может мне с этим помочь?