Сегодня давай посмотрим на четвертый принцип SOLID, а именно принцип разделения интерфейса (он же ISP) - он гласит, что клиенты не должны зависеть от интерфейсов, которые им не нужны.
Этот принцип предлагает создавать множество узких интерфейсов, специально настроенных на нужды каждого клиента, вместо создания одного крупного интерфейса, который имеет много методов, которые могут быть не нужны для отдельного клиента.
Через это мы избегаем слишком больших и сложных интерфейсов, которые могут нарушить принцип единственной ответственности и навести шороху. ISP также помогает избежать проблем совместимости при наследовании и уменьшить связность между классами, при это еще и облегчая поддержку и повторное использование кода.
В общем, принцип разделения интерфейса помогает создавать более чистый, гибкий и клевый код.