Внутренняя архитектура / дизайн Eclipse Вопрос: Как одноэлементные плагины используются для управления несколькими запусками / средами? - PullRequest
0 голосов
/ 16 июня 2011

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

1 Ответ

0 голосов
/ 17 июня 2011

Я решил немного разобраться.Я посмотрел на Eclipse Debug Package.Этот пакет представляет собой обширную коллекцию подключаемых модулей, работающих вместе для предоставления служб для отладки нескольких запусков / сред.

В этом пакете состояние запуска инкапсулируется в объектах, созданных из Launch и DebugTarget.Однако доступ к этим данным не ограничен каким-либо объектом или потоком.Дизайн в основном основан на диспетчерах событий и слушателях.Он обеспечивает гибкость для добавления новых функций, но меньше контролирует доступ к данным и переходы между состояниями.В частности, разработчики должны быть осторожны с проблемами параллелизма.

...