На основе передового опыта, который я читал в разных местах (one example), он идеально подходит для разделения API и реализации, но также и для экспорта пакетов в комплекте API, а не в пакет реализации, который должен регистрироваться как услуга.osgi экспорт реализации для наследования
Однако я до сих пор неясно, как вы должны распространять конкретный класс. Мне кажется, что, чтобы быть в состоянии сделать
class Child extends com.foo.ParentImpl {
}
в осущ сверток должен был бы выставить com.foo
AFAIU есть только два способа
- Экспорт конкретной реализации, но это нарушает наилучшая практика
- Никогда не расширяйте классы из другого набора. объедините все иерархии типов. Этот вид поражает точку модульной структуры, на мой взгляд.
Так что это правильный способ сделать это?
спасибо Нил. Я также согласен с вами в том, что наследование переоценено – Hilikus