TDD — извлечь интерфейс или сделать методы виртуальнымиC#

Место общения программистов C#
Anonymous
TDD — извлечь интерфейс или сделать методы виртуальными

Сообщение Anonymous »

Всякий раз, когда я хочу заглушить метод в тривиальном классе, я чаще всего извлекаю интерфейс.
Теперь, если конструктор этого класса является общедоступным, не слишком сложным и не зависит от сложных типов, он будет иметь тот же эффект, если просто сделать рассматриваемый метод виртуальным и наследовать.
Является ли это предпочтительнее, чем извлечение интерфейса? Если да, то почему?

Изменить:

Код: Выделить всё

class Parser
{
public IDictionary DoLengthyParseTask(Stream s)
{
// is slow even with using memory stream
}
}
Есть два способа: либо извлечь интерфейс, либо сделать метод виртуальным. На самом деле я предпочитаю интерфейсы, но это может привести к взрывному росту числа кортежей IParser Parser...

Подробнее здесь: https://stackoverflow.com/questions/142 ... ds-virtual

Вернуться в «C#»