When should I use an interface and when should I use a base class?
Should it always be an interface if I don\'t want to actually define a base implementation of the
An inheritor of a base class should have an "is a" relationship. Interface represents An "implements a" relationship. So only use a base class when your inheritors will maintain the is a relationship.