Eclipse PDE: Как изменить реализацию класса, создав точку расширения? - PullRequest
0 голосов
/ 14 января 2012

У меня есть Eclipse Plugin, который содержит определенный метод foo () в классе X.

Class X {

private void foo(){
...
}
}

Как создать точку расширения, которая позволяет другим плагинам заменить реализацию класса foo ()?

И я должен создать точку расширения, а также расширить ее, как это делают другие плагины? или просто предоставить базовую реализацию?

1 Ответ

1 голос
/ 15 января 2012

Для создания точек расширения я предлагаю прочитать учебное пособие по точке расширения по адресу vogella.de: http://www.vogella.de/articles/EclipseExtensionPoint/article.html Оно содержит как определение точки расширения, так и ее применение.

О других ваших вопросах: если вы определитеточку расширения для предоставления класса X, вы также должны использовать точку расширения, чтобы получить его экземпляр. может быть хорошим вариантом, если ваша реализация - это реализация, которая выполняется, когда расширение не предоставлено, в противном случае - нет, но, как правило, для вас также является хорошей идеей использовать расширение (иначе говоря, есть свой собачий корм).

Однако имейте в виду, что для расширения провайдера может быть доступно несколько расширений, вы должны также обработать этот случай.

О базовой реализации - это приятно, если выпредоставить некоторый абстрактный базовый класс, который могут переопределять другие поставщики расширений.

...