Можно ли перекрыть интерфейс? при разработке системы сейчас я начну с интерфейсов и постепенно буду писать модульные тесты вместе с интерфейсами, пока не получу хорошо работающий шаблон. Я перейду к написанию некоторых конкретных классов и настрою модульные тесты на них.
Теперь я тот, кто любит интерфейсы, и обычно я буду передавать/возвращать только примитивы или интерфейсы, когда контролирую код. без воздействия на зависимые системы.
Мне, очевидно, не нужно продавать причины использования интерфейсов, но мне интересно, не слишком ли это за борт, чтобы интерфейсировать все, ps. Я не говорю о пустых интерфейсах как о чем-то сумасшедшем, например:
interface IStringCollection : ICollection<string>
{
}
Я говорю больше что-то вроде:
interface ISomethingProvider
{
ISomething Provide(ISomethingOptions options);
}
Это действительно сверх меры? я полагаю, что любой тип может выиграть от взаимодействия в какой-то момент ... и единственная реальная проблема, с которой я столкнулся, заключается в том, что мне пришлось изучить то, что я считаю лучшим способом разработки классов, поскольку у вас нет дурака происходят взаимодействия и «взломы».
Буду рад вашим отзывам о том, является ли это бомбой замедленного действия, и когда вы решите использовать интерфейс, а не нет.
ps - на самом деле это не столько о том, как писать интерфейсы.