UML中是否有标准方法来模拟与对象交互的几个静态方法(不是类的一部分)?我正在开发一个使用JNI(Java Native Interface)来支持Android上的C ++代码的项目。
我计划简单地将函数集合视为另一个类,但感觉必须有更好的方法。我应该完全忽略JNI并只包含它们代表的Java类吗?
答案 0 :(得分:1)
从根本上说,UML采用OO范式。所以它没有提供第一类功能。因此,建模函数的唯一方法是使用方法(基于类或实例)。
唯一的另一个选择是重新定义函数,即为每个函数创建一个类。但是我不确定那是你真正想要的。
我正计划简单地对待 功能集合作为另一种 类
这可能就是我的建议。
我应该完全忽略JNI 只包括他们的Java类 代表什么?
取决于您尝试在模型中显示的内容。是否重要的是让观众了解通过JNI调用的功能?或者相反,目的更多的是“域模型”(即显示概念实体以及它们如何关联和抽象实现语言选择)?
第h
答案 1 :(得分:1)
在某些情况下,模块或命名空间可以被视为“对象”。
你可以用非对象函数“封装”你的库作为“对象”和addan刻板印象。
+-----------------------------------------------------------+ |..........................<<library>>......................| |.............................Strings.......................| +-----------------------------------------------------------+ |..+...String:..Date2Str(Date Value)........................| |..+...String:..Mid(String Source, int Index, int Count)....| |..+...String:..Reverse(String Source)......................| +-----------------------------------------------------------+
干杯。
答案 2 :(得分:0)
UML是面向对象系统的建模语言。因此它没有任何独立静态函数的构造。
您可以为静态方法创建Facade类,并显示该Facade和Java类的交互。
但无论如何,首先你应该问:
通过在我的UML图表上显示这些内容,我将获得什么样的好处?
如果UML不能帮助您“为了您的利益”,请使用其他工具。即使您的目标是向其他人展示您的内部结构,也请以编程方式选择一个编辑器显示您的基础架构,将其记录为视频,然后将其提供给受众。