Я понимаю, что интерфейс в .Net определяет контракт между интерфейсом и классом, который его наследует. Я только что закончил работу над проектом, в котором интенсивно использовался интерфейс для уровня доступа к данным, и это заставило меня задуматься. , , подумаешь? Когда мне нужно было добавить новый метод в DAL, я должен был создать сигнатуру метода в интерфейсе и добавить его в класс, который унаследовал интерфейс, и, конечно, метод в DAL, создавая тем самым «дополнительную работу». Что хорошего в интерфейсах и зачем мне создавать дополнительную работу для себя?