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