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