I've got an object (well 3 similar objects) that inherits from 6 interfaces:
public class PaperContract :
IDocument,
ICanSell,
IPrintable,
INotifyPropertyChanged,
IDataErrorInfo,
ISerializeable
The first signifies that this is a document which has properties for the file format it gets saved to and other stuff that makes it to conform to legacy practices that had to stay consistent with the paper documents this is replacing.
The second signifies that the document has financial info on it.
The third signifies that this document can be printed (seems obvious).
And the rest should be fairly obvious, databinding for winforms and serializing because the app is a sometimes-connected app.
I'm wondering if this is a sign that the object is defying the SRP, but at the same time, I don't want object explosion by splitting the class up into a million smaller sub-classes.