Posiblemente este sea el principio más fácil de definir de todos los SOLID.

En pocas palabras aconseja crear interfaces específcas para cada actor y no grandes interfaces con métodos comunes a varios actores.

¿Por qué es útil el principio de segregacion de interfaces?

Imagina que tienes un módulo A que permite muchas operaciones en una única inerfaz y creamos una serie de módulos que use algunos de los métodos provistos por A. ¿Que pasa si queremos añadir nuevas funcionalidades en A y añadirlas a su superinterfaz? Las clases que dependen de A y usen esa interfaz para comunicarse tendrán que proveer algún tipo de código para esos métodos, aunque no los vayan a utilizar nunca. Segregando esa gran interfaz en funcion del actor que vaya a utilizarla, evita que otros actores tengan que implementar métodos que nunca van a usar.

Como quizás habrás podido observar, al hablar de actores y el nivel de conocimiento de estos, puede que te haya recordado vagamente al de responsabilidad única… y es que los principios de SOLID no son estancos entre sí.