Pensa alla conformità dell'interfaccia come un passo oltre la sicurezza del tipo. Identifica le cose che sono cambiate e i modi in cui possono essere cambiate, definisci l'interfaccia che le fornisce tutte e poi mentre scrivi all'interfaccia ti assicura che non ti preoccupare confonderai i parametri o le unità di disordine.
È sempre possibile assegnare metadati speciali per "Non influire" o "Non applicabile", stub che eliminano informazioni non necessarie o forniscono valori "predefiniti" generici se l'interfaccia è "sul lato grande". Ma stai meglio se usi interfacce più granulari e più piccole per coprire pezzi più piccoli di funzionalità. Sarà meglio implementare separatamente le interfacce "dati di lavoro" e "configurazione", piuttosto che richiedere l'implementazione di un'enorme interfaccia "dati di input", o persino dividere "dati di lavoro" ulteriormente per varie fonti / tipi, come l'attivazione e lo stato come interfacce separate - classi che hanno bisogno di entrambe, implementare entrambe.