Точка расширения eclipse похожа на интерфейс: она объявляет набор свойств, которые должны быть реализованы.
Например, точка расширения org.eclipse.ui.editors
объявляет, что для реализации этой точки расширения вы должны предоставить:
- id
- name
- icon
- class
- расширения файлов
- участники
Нет точного способа сказать это в UML, поскольку точка расширения не является ни интерфейсом, ни объектом, но вы можете смоделировать ее, добавив стереотип к вашей модели, скажем <<extension_point>>
(вы можете прочитать больше остереотипы здесь ) и создайте на диаграмме класс (например, org.eclipse.ui.editors
), который имеет все эти атрибуты с их обязательными типами (в этом примере все атрибуты являются строками, кроме class
, который являетсятипа org.eclipse.ui.IEditorPart
).
После этого вы можете создать еще один стереотип, скажем <<extension_point_implementation>>
, и новый класс, имеющий этот стереотип.Этот класс вы связываете со ссылкой для реализации из класса <<extension_point>>
, а затем задаете значения всех атрибутов для того, что вы реализуете.
Обратите внимание, что это не «чистый» UML, поскольку выопределение нового домена с добавленной семантикой, но я думаю, что это будет хорошим и простым для понимания способом моделирования того, что вы хотите.