Interface or abstract class?
Generally speaking, the approach I use in this kind of situation is to have both an interface and an abstract class. The interfaces defines, well, the interface. The abstract class is merely a helper. You really can’t go wrong with this approach. Interfaces give you the flexibility to change implementation. Abstract classes give you boilerplate … Read more