В настоящее время я выполняю некоторые работы по разработке API, включая спецификацию ряда интерфейсов как абстракции, которые позже будут реализованы различными конкретными классами.
Как это бывает, я использую Java, но я думаю, что этот вопрос имеет отношение к любому языку, поддерживающему аналогичную концепцию интерфейса.
Я заметил, что часто существует опция между:
- Создание большого интерфейса с полным набором методов
- Создание нескольких интерфейсов, каждый из которых содержит подмножество полного диапазона методов (одному конкретному классу, вероятно, придется реализовать несколько или все эти интерфейсы).
Каковы плюсы и минусы каждого подхода?