zoukankan      html  css  js  c++  java
  • 图描述之:类图总结

    一、什么是类图

      类图从通俗的角度来讲,我认为是一种用来描述一个模型静态结构的图,包括:模块的定义,模块的功能以及比较重要的是描述模块之间的关系。通过这种图的描述方式,可以让读者从一个直观的角度来去了解一个软件项目的整体框架,而不用像通过阅读代码来学习,这样可以省略一些在无关紧要的实现细节上面的开销。(个人见解)

      能够百度到的对类图的定义:

      类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。

      类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。

      类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。

      类图(Class diagram)最基本的元素是类或者接口。

    二、类图能描述什么

      用比较规范的说法来讲,类图所能描述的模块之间的关系有如下几种:

      泛化(Generalization):可以理解为一种继承的关系,子类与父类之间的关系,使读者可以看到模块是怎样复用父类的功能,又有哪些特有的功能

      实现(Realization):没有用过,据说是一种类似于抽象类的定义与实现的过程

      关联(Association):类似于数据库ER图中实体集之间的关系描述:多对多,多对一,一对一等等

      聚合(Aggregation):强调的是一种依附的关系,只是被依附的对象和依附者都可以单独存在,而不是像泛华中描述的父子关系

      组合(Composition):整体与部分的关系,一种类似于描述包含的关系,强调极强的关联性

      依赖(Dependency):我觉得也可以理解为调用关系,一个模块需要使用其他模块时存在这种关系

      需要强调的是:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 

    三、我自己画的类图

      也就是在团队项目中的类图:

      

    可以看到有4个类,在类图中均给出了每个类的属性以及方法,而类与类之间均为调用关系,这是由于功能拆分的原因:将一个大的功能拆分为几个模块来实现,自然每个模块均有其使用的地方,同时也有缺少的功能,那么这时通过调用的方式来实现功能的拼接。

  • 相关阅读:
    mysql表结构同步
    关于Java8中lambda约简函数reduce的一个计算问题
    激烈的歌曲有助于编程
    今天刷了数据解构与算法这门课 感觉略有收获
    我有一个好朋友 他的名字叫刘洋 他的ID是北极的大企鹅 他的技术不错 他渴望成为架构师 猎头们路过可以去他的博客看看
    缓存雪崩,缓存击穿,缓存穿透
    celery
    Redis
    django 缓存的使用
    base64 加密
  • 原文地址:https://www.cnblogs.com/kiyoshikazuya/p/5601134.html
Copyright © 2011-2022 走看看