У меня есть объект под названием Foo. Прямо сейчас он реализует IFoo, который имеет много свойств.
У меня есть один класс, который зависит только от нескольких из этих свойств, поэтому я создаю IMeasurableFoo (у которого просто есть несколько свойств)
чтобы избежать дублирования кода, теперь у меня есть IFoo: IMeasurableFoo, поскольку я переместил свойства в IMeasurableFoo
но это кажется неправильным с точки зрения наследования, поскольку у вас есть более общий интерфейс, наследующий от определенного интерфейса
мысли о том, как организовать эти абстракции
Например, если это были конкременты:
Птица не наследует от FlyingBird (будет наоборот)