Recentemente ho visto un esempio di ciò che ritengo sia una chiara violazione dell'ISP, ma il mio collega ha sostenuto che è più facile da usare. Questo è quello che è successo:
- La classe
Options
aveva due campi inviati come parametro a uno dei metodi in cui erano in uso entrambi i campi. - Poi è stato aggiunto un nuovo campo che è stato utilizzato in un altro metodo, ma il metodo originale non ne ha mai avuto bisogno.
In modo che quando chiami un primo metodo devi inviare un'opzione che ha un campo totalmente irrilevante per il metodo.
Non ho visto le applicazioni dell'ISP in classi / richieste e non solo le interfacce stesse, ma lo considero come una parte dell'interfaccia in realtà.
Quindi mi chiedo se questa è una parte dell'ISP o meno.