Prendi il seguente esempio:
public interface ISerialRVD
{
RouteValueDictionary ToRVD();
}
public interface IViewModel : ISerialRVD // Here?
{
Int32 Page { get; set; }
String Action { get; set; }
}
public class myViewModel : IViewModel, ISerialRVD // Or Here?
{
}
Capisco che se faccio IViewModel eredita ISerialRVD che sta forzando tutti coloro che implementano IViewModel ad implementare ISerialRVD ma dovrei fare solo : IViewModel o : IViewModel, ISerialRVD sulla classe che implementa IViewModel ?
A mia conoscenza ripetere la parte di ISerialRVD non fa male nulla, e voglio metterlo lì per rendere più chiaro l'implementazione di quell'interfaccia, ma se dovessi avere molte più interfacce diventerebbe abbastanza confuso. Mi sbaglio?
C'è un modo ragionevole di affrontare questo? Da una parte sento che dovrebbe essere prolisso e dirti cosa stai implementando, ma d'altra parte dovrebbe essere inferocibile dall'interfaccia stessa. Tutti gli IViewModels implementano ISerialRVD.