В общем сценарии интерфейс или абстрактный класс часто являются подходящим решением, я прав?
Но в некоторых случаях кажется, что конкретный класс лучше. instance,
public string Replace(string old, string new)
Метод Replace
для String
возвращает конкретный класс (это просто пример, хотя String не реализует никаких интерфейсов.)
Мой вопрос
Когда я должен возвращать интерфейс и когда я должен возвращать конкретный класс?
Является ли это частью программы для интерфейса, а не реализацией
для возврата интерфейса?