Создать Mixin без использования интерфейсов
В Java у меня есть несколько устаревших классов (из сторонней библиотеки, которые я не могу редактировать), которые нельзя implement
любые интерфейсы, но для которых я хотел бы создать миксин.
Я посмотрел на cglib для создания миксинов, но в этом уроке говорится, что
cglib Mixins позволяет объединять несколько объектов в один объект. Однако, чтобы сделать это, эти объекты должны быть поддержаны интерфейсами
Так кто-нибудь знает, как создать смесь двух конкретных классов, ни один из которых не реализует никаких интерфейсов?
Я думал об использовании генерации байт-кода для автоматического извлечения интерфейса из конкретного класса, который я мог бы затем просто вставить в cglib, но я и понятия не имею, как это сделать...
1 ответ
Не нужно ничего причудливого, просто немного скучной работы осла.
Создайте интерфейсы, для которых вы хотите программировать, затем создайте конкретные классы, которые реализуют их, используя устаревшую библиотеку.
Теперь вы можете создавать миксины с помощью cglib, если вы действительно этого хотите, но, что более важно, вы можете разрабатывать свое приложение, не делая его сильно зависимым от устаревшей сторонней библиотеки.