UML关联和依赖

前端之家收集整理的这篇文章主要介绍了UML关联和依赖前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关联和依赖之间有什么区别?你能给出代码示例吗?
A级和B级之间有什么关系?
class A
{
    B *b;

    void f ()
    {
        b = new B ();
        b->f();
        delete b;
    }
}
简短的回答是:如何在UML中表示任何特定的源语言结构并不是严格定义的.这将是所讨论语言的标准化UML配置文件的一部分,但遗憾的是这些很少见.答案如下.

在你的例子中,我担心我不得不说“不”,只是为了困难. A具有类型B的成员变量,因此该关系实际上是聚合或组合……或者是有向关联.在UML中,与命名目标角色的定向关联在语义上等同于具有相应名称属性.

根据经验,如果b在A的构造函数中初始化,则它是一个聚合;如果它在B的析构函数(共享生命周期)中被破坏,它也是一个组合.如果两者都不适用,则它是属性/定向关联.

如果b不是A中的成员变量,并且局部变量b没有被操作(没有调用方法),那么我将其表示为依赖:A需要B,但它没有属性那种类型.

但是f()实际上调用了B中定义的方法.这对我来说是正确的关系a<< use>>,这是一种更专业的依赖形式.

最后,(无向)关联是两个类之间最薄弱的联系形式,因此我倾向于在描述源构造时不使用它们.当我这样做时,我通常在没有直接源代码关系时使用它们,但这两个类仍然以某种方式相关.这种情况的一个例子可能是两个人负责同一个较大算法的不同部分,但第三个类同时使用它们.

原文链接:https://www.f2er.com/javaschema/282030.html

猜你在找的设计模式相关文章