мой вопрос на сегодня: перегруженные методы в интерфейсе плохие? Вы знаете, что "опустить параметры, если вам все равно, мы выясним значения по умолчанию", перегруженные методы. Например:
void Add(object item);
void Add(object item, bool shouldDoSomething);
void Add(object item, bool shouldDoSomething, IUltraObscureDeviceContext context);
В этом случае я склонен думать, что только последний принадлежит интерфейсу, а другие должны быть реализованы в абстрактном классе поверх него. Но опять же, я не уверен.
Кроме того, бывают случаи, когда вы просто хотите, чтобы разные перегрузки выполняли немного другую работу (остановите меня прямо там, если для этого не должны использоваться перегруженные методы). Или иногда вы не можете просто заполнить нули вместо некоторого параметра, вы хотите, чтобы исключение было выбрано, если что-то пустое. Должен ли я не использовать перегрузку в этом случае?
Итак, в основном я ищу некоторые рекомендации по перегруженным методам в интерфейсах и перегруженным методам в абстрактных классах, реализующих эти интерфейсы, и так далее. Спасибо заранее