suppose I have a class A, and the interfaces I1 and I2.
Interfaces I1 contains methods a,b
Interfaces I2 contains methods a,b,c and d
class A can implements I1 or I2 depending on how it is constructed.
Question, what is the best structure to organize it?
one solution is to create a base class for Class A which implements only I1, and make Class A derived implementing I2:
Class A: I2, BaseA