Скажем есть интерфейс:
public interface IStrategy
{
void DoSomething(int a);
}
Часть классов используют эту реализацию. Теперь появился класс, которому надо этот-же функционал, но для его реализации нужен еще один параметр:
void DoSomething(int a, int b);
Как правильно в этом случае поступить? Добавить параметер в исходный интерфейс попутно изменив все ссылки на него, типа такого:
void DoSomething(int a, int b = null);
или создать вообще новый интерфейс?