Как SOLID "Принцип разделения интерфейса" отличается от "принципа единой ответственности"?
Википедия запись для SOLID говорит, что
ISP разбивает интерфейсы, которые являются очень большими в более мелкие и более специфичные, поэтому клиенты должны знать только о методах, которые им интересны
Однако мне кажется, что это просто применение SRP к интерфейсам, а также к классам. В конце концов, если интерфейс отвечает только за одну концептуальную вещь, то вы не сможете сломать ее дальше.
Я что-то упускаю, или ISP вроде избыточен с SRP? Если нет, то что означает ISP, что SRP не делает?