组件可以有一个提供的界面,可以用球表示法显示,或者实现对<<interface>>
的依赖。但是如果组件提供静态方法呢?
给定一个通过公共静态mehtod`操作提供其功能的组件MyComponent
,以下是一个正确的UML表示吗?
+---------------------+ +---------------------------+
| <<component>> | <<realize>> | AClass |
| MyComponent |----------------->|---------------------------|
| | |+operation() <<static>> |
+---------------------+ +---------------------------+
或者AClass
是否应该用<<interface>>
刻板印象标记,即使它没有作为编程语言中的接口实现?毕竟,有些语言没有接口构造。
答案 0 :(得分:0)
并非每个构造都受UML中的规则控制。所以你有相当大的自由度。特别是在对静态编程语言进行建模时(就像在具有大量C编程的嵌入式系统中一样),您需要设置自己的规则来表达事物。因此,基本上没有任何问题。您应该在您打算使用此构造的域的建模规则中简单地描述此构造。可能我会将AClass
定型为<<interface>>
,因为暴露了一些公开方法的事实比它被实现为静态的事实更重要。
答案 1 :(得分:0)
组件元素被定义为UML上层结构中的专用类元素。您可以将它用作标准类元素。您可以定义所有标准功能(操作,属性,接收)并连接关联。如果您正在使用uml工具将组件显示为构造型类(&lt;&gt;),那么您将看到所有已定义的功能。