Is it considered good practice or bad practice to write an interface that exists solely to concentrate other interfaces?
interface InterfaceA : InterfaceB, InterfaceC {
}
In doing this, a concrete implementation only needs to implement InterfaceA, which seems like a good thing, but it doesn’t add any value by extending, which seems wasteful.
I think it depends on if it makes sense in your domain. If it does, I would do it, then your program more accurately models your domain.
In addition, of course, you can now write code which requires/uses objects implementing
InterfaceAi.e. all methods of both the super-interfaces; that wouldn’t have been possible before.