Чистая архитектура - Мартин, Роберт Чистая архитектура:
Опасно зависеть от модулей, в которых содержится больше, чем нужно клиенту.
Архитектура ПО в Spring 5 Архитектура ПО в Spring 5:
- Есть ли в коде пустые реализации методов интерфейса? Не должно быть вообще!
- Много ли методов в интерфейсе? Не должно быть много, интерфейс должен представлять собой согласованную абстракцию примерно одного уровня.
- Все ли имена методов соответствуют функциональному назначению интерфейса? Методы с неподходящими именами, скорее всего, должны быть частью другого интерфейса.
- Можно ли разделить интерфейс на несколько? Если да, то это нужно сделать.
- Какую часть опубликованных функций используют классы-клиенты? В идеале - почти все при каждом взаимодействии через интерфейс.
Wikipedia: ISP