这个问题在这里已有答案:
我真的不明白在UML图中<<use>>和<<invokes>>之间有什么区别。我不明白它们的区别,因为当他们使用来自另一个类的服务时,它们似乎相等。
<<use>>
<<invokes>>
在UML图中<<use>>和<<invokes>>之间的语义差异是什么?
UML 2.5不再具有<<invokes>>刻板印象。以前的UML版本的差异是微不足道的,您可以交换它们的含义。这可能是它未被纳入新规范的原因。
根据UML 2.5规范(参见spec中的7.7.4),<<use>>构造型用于Usage依赖。 Usage依赖是一个非常普遍的依赖,其中构造型<<call>>,<<instanciate>>等(参见spec中的22.1)用于更具体的Usage依赖形式。
<<call>>
<<instanciate>>
从这个意义上讲,我会将构造型<<invoke>>视为<<use>>的一种特殊形式,在这种情况下,您明确地想要指出某种方法调用。
<<invoke>>