В моей компании мы привыкли создавать плагины Eclipse, которые совместно используют интерфейсы с инструментами командной строки. Мы исследуем использование Eclipse 4 RCP API для наших следующих плагинов, но у меня возникают проблемы с использованием инъекций в наши собственные объекты. Например, я хотел бы объявить, что IHelper должен быть создан EclipseHelper:
interface IHelper { /* In core plugin (not Eclipse dependent) */
...
}
class EclipseHelper implements IHelper { /* In Eclipse plugin */
@Inject
EclipseHelper(IWorkbench workbench) { ... }
}
С хитростью я бы объявил в Injector привязку IHelper к EclipseHelper, но в Eclipse я нахожу только фрагменты (как на vogella ), чтобы связать IHelper с конкретным экземпляром EclipseHelper , Я не хочу этого делать, создание экземпляра может быть сколь угодно сложным. Как я могу объявить привязку - на уровне приложения -?