Re[2]: Интерфейсы и реализация
От: diez_p  
Дата: 21.10.20 14:32
Оценка:
Здравствуйте, СвободуАнжелеДевис, Вы писали:


Б>>Когда имеется несколько реализация — понятно, интерфейс обычно выделяют.

Б>>Но если реализация только одна, для каких классов выделяете интерфейсы, а для каких нет?

САД>Выделяется при любом взаимодействии двух и более классов, ибо тесты.

За такое гореть в аду, фреймворки давно уже умеют мокать классы, если даже таких нет, можно дописать велосипедов самостоятельно, но при этом контракттипа не раздувая.

Б>>Но если реализация только одна, для каких классов выделяете интерфейсы, а для каких нет?

Когда обращение должно быть по интерфейсу, вместа типа. Например класс внутренняя реализация модуля (internal) создает этот тип какой-то провайдер и необходимо оставить реализацию типа внутри билиотеки, либо может внутри какого-то namespace (физически нельзя запретить, но соглашением можно)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.