В разработке библиотечного API есть подход, при котором пользователь должен реализовать подкласс (или, иногда, набор функций), чтобы использовать API. Например, библиотеки могут предоставлять (абстрактный) базовый класс, который пользователь должен расширить, создать экземпляр и затем передать обратно в библиотеку.
Есть ли конкретное название для такого подхода?
(Фраза «Интерфейс поставщика услуг», по-видимому, появляется в Java, но не где-то еще. Она также широко используется в архитектурах «подключаемых модулей», но, похоже, не является тем же.)