4

对于我必须做的一个软件设计项目,我选择了 Eclipse 平台作为框架。这意味着我有很多扩展点要实现。

但是,我无法在我的 UML 类图中指定这些扩展点。那么,如何对类属于类图中的扩展点这一事实进行建模呢?

还是类图无论如何都是错误的地方?如果是这样,指定我实施的扩展点的最佳位置在哪里?

作为参考,我正在使用 Papyrus 进行 UML 建模。我已经有一个应用程序的工作原型,所以它只是创建图表。

干杯

4

4 回答 4

2

说到 Eclipse 插件,我宁愿选择组件图而不是类图。然后,您可以将扩展点建模为端口,并将它们的合同建模为接口(那些棒棒糖)。

如果您宁愿让类图将扩展点指定为具有特殊构造型(或关键字)的接口也可以。

关于实现扩展点的类,您可以使用对组件的依赖项或(在第二种解决方案中)接口实现。

于 2011-12-07T12:50:43.313 回答
1

Eclipse 扩展点就像一个接口:它声明了一组必须实现的属性。

例如,org.eclipse.ui.editors扩展点声明要实现此扩展点,您必须提供:

  1. ID
  2. 姓名
  3. 图标
  4. 班级
  5. 文件扩展名
  6. 贡献者

在 UML 中没有确切的说法,因为扩展点既不是接口也不是对象,但是您可以通过向模型添加原型来对其进行建模,例如(您可以在此处<<extension_point>>阅读有关原型的更多信息)并创建一个类在具有所有这些属性的图表中(例如),以及它们所需的类型(在本例中,所有属性都是字符串,除了type之外)。org.eclipse.ui.editorsclassorg.eclipse.ui.IEditorPart

在此之后,您可以创建另一个原型,比如说<<extension_point_implementation>>和一个具有该原型的新类。该类通过该类的实现链接连接<<extension_point>>,然后将所有属性的值设置为您正在实现的内容。

请注意,这不是“纯粹的”UML,因为您正在定义一个具有附加语义的新域,但我认为这将是一种很好且易于理解的方式来建模您想要的内容。

于 2011-12-07T10:08:12.647 回答
0

从某种意义上说,扩展之于扩展点,就像实例之于类一样;扩展点定义了扩展的可能属性,每个扩展都包含符合扩展点的具体属性。

于 2011-12-06T16:49:21.870 回答
0

只需反转java代码并添加注释即可。它会完成这项工作。

于 2011-12-06T21:51:32.527 回答