我是 UML 设计的新手。在这里,我有一个问题。假设我有两个类,一个是主调用者类 A,它将新建另一个类 B。我应该使用用法来表示 A 和 B(或聚合)之间的关系吗?此外,如果一个类 C 调用另一个类 D 中的方法,我应该使用什么?协会?或用法?请帮忙。非常感谢。
依赖是所有关系中最抽象的。在 2 个班级之间,这仅意味着一个班级以某种方式“意识到”另一个班级。示例:类 A 的对象接收对类 B 对象的引用(在某些方法执行期间)并对其执行某些操作(例如调用其方法)。 Usage是一种特殊的依赖类型,意味着 A 类使用 B 类。
关联在某种程度上是比依赖更强的关系。示例:类 a 具有类 B 的成员(属性)并永久保存此引用。与前一个示例的不同之处在于,此链接是长期链接,而短期链接则通过依赖关系表示。
聚合和组合也是关联,但更强。它们的语义取决于实现语言或上下文。聚合是 Group-Member 类型的非排他关系(多个成员属于同一组,也可以属于其他组)。当组被销毁时 - 成员只是未签名而不是被销毁。组成是排他性的,并且关系非常密切:整体-部分。部分在整体的完全控制之下——实际上是它的一部分。没有整体,部分就不存在,所以当整体被破坏时,部分也会死亡。
在 UML 中,Usage是一种特殊类型的依赖关系,其中一个模型元素(例如类 C 中的操作)需要另一个模型元素(例如类 D 中的操作)才能“完全实现或操作”。因此,您的 C 类对 D 类存在使用依赖性,但没有关联。
我在我的教程管理 JavaScript 前端 Web 应用程序中的单向关联中解释了如何在设计模型中使用关联。