• UML统一建模语言学习记录——类图


    UML即Unified Modeling Language,中文译为统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

    本文将针对类图给出笔者的学习记录。

    类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。

    接下来将针对类与类之间的关系展开介绍。

    泛化关系

    通俗的说即继承关系,但是此继承过程的父类为普通类,与之产生对比的即实现关系,实现关系中的继承父类为抽象类或者接口。泛化关系使用空心实线三角箭头表示。

    泛化关系在代码中最终会体现为继承非抽象类。

    实现关系

    也是继承的一种关系,但是要求父类必须是抽象类,此处和上文提到的泛化关系形成对比。实现关系使用空心虚线三角箭头表示。

    实现关系在代码中最终会体现为继承(实现)抽象类。

    聚合关系

    聚合关系表示前者聚合到后者上,是一种弱依赖,如下例子中人员聚合为一个小组,但是小组解散后“人员”却仍旧有意义,此即为聚合关系。聚合关系使用空心实线菱形箭头表示。

    聚合关系在代码中通常由聚合对象不固定的持有被聚合对象。

    组合关系

    组合关系与聚合关系相对应,它是一种固定持有被组合对象的关系,而且当组合解散则被组合的部分则不再有意义。组合关系使用实线实心菱形箭头表示。

    组合关系在代码中通常由组合对象固定的持有被组合对象。

    关联关系

    关联关系为不同对象之间的结构关系,它是一种静态关系,通常与程序运行无关,它是一种“强关联”。关联关系可能是单向的,也可能是双向的。关联关系使用实线和小箭头来表示,如果关联关系是双向的,则可以不使用箭头。

    关联关系在代码中通常以成员变量的形式表示。

    依赖关系

    依赖关系一般是动态产生的,一方对另一方产生依赖的体现,我们应该始终保证依赖关系为单向的。依赖关系使用虚线和小箭头来表示。

    依赖关系在代码中一般体现为作为构造方法或静态方法的传入参数。

    以上为针对6种UML类之间关系的简述。
    如有不对敬请指出,感谢阅读!

  • 相关阅读:
    leveldb的搜索
    分布式存储bfs
    golang channel的行为
    支持rotate和大小限制的golang log库
    后台架构 一些需要注意的地方
    不要滥用面向对象,写出难以阅读和修改的代码
    goloader
    逻辑引擎、工作流、CMDB小感
    HTML5学习笔记4
    HTML5学习笔记3
  • 原文地址:https://www.cnblogs.com/yeehok/p/12719796.html
Copyright © 2020-2023  润新知