Перегруженные методы в интерфейсе

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

void Add(object item); 
void Add(object item, bool shouldDoSomething); 
void Add(object item, bool shouldDoSomething, IUltraObscureDeviceContext context);

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

Кроме того, бывают случаи, когда вам просто нужно, чтобы разные перегрузки выполняли несколько иную работу (остановите меня, если для этого никогда не следует использовать перегруженные методы). Или иногда вы не можете просто заполнить нули вместо какого-либо параметра, вы хотите, чтобы исключение генерировалось, если что-то равно нулю. Не следует ли мне в этом случае использовать перегрузку?

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

19
задан Jeffrey Hantin 26 January 2011 в 06:14
поделиться