UML——包图[通俗易懂]

UML——包图[通俗易懂]UML——包图

大家好,又见面了,我是你们的朋友全栈君。

       包是用于分组的符号,常用来对一组相同的UML元素进行分组存放和管理,包图就是用来描述包及其关系的图,我们常用包图来描述系统、子系统的宏观组成和结构。这么官方的语言大家可能不太理解,其实包图就类似于文件夹,一个程序往往包含了很多元素,所以我们可以将这些类按照一定标准划分,将具有相似功能的一组元素放在一个包中,使我们的程序结构上清晰,源码易读。所以就和我们日常生活中通过文件夹对我们的资料就行分类管理,以便我们快速准确的找到我们所需要的东西,提高工作效率的道理一样。

UML——包图[通俗易懂]


一.包

1.作用

2.图符

   —  逻辑上把一个复杂的图模块化,体现了分组机制。

   —  更清晰的组织源代码。

   UML——包图[通俗易懂]

3.元素

   一个包中可以包含类、接口、构件、用例及其他包等。


二.关系

1.依赖

   依赖是最普遍的关系,如果两个包中的任意两个类之间有依赖关系,则这两个包之间有依赖关系。

2.泛化

   与用例图、类图中的泛化关系一样,这里体现了包与包之间的泛化关系,也就是继承关系。


三.注意的问题

1.几个包之间要避免循环依赖产生。即:

   UML——包图[通俗易懂]

2.测试时以包为单位测试。

3.尽量把概念和语义上相接近的元素包含在同一个包中。

   这个跟我们今天讲的过程的内聚是一个道理,所以说高内聚低耦合这样一句每个程序员都知道的话无论是在编程的        各个方面,还是在生活中,都淋漓尽致的体现出来。

4.包内元素的作用域。

   包内的元素可以分为公共的(public)、受保护的(protected)、私有的(Private)。在这里应注意“最小化包间的耦    合关系”,即最大限度减少包之间的依赖,进行包封装时,避免包之间的循环依赖;最小化每个包中public、protected    元素的个数,最大化每个包中private元素的个数。

   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105783.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • activity工作流引擎

    activity工作流引擎工作流activity引擎入门案例1、工作流是什么?简单来说工作流就是将一条信息根据角色、分工、条件不同进行固定的向上传递,数据是按照固定的流向进行传输,一级一级传递下去,这种场景在OA,CRM/ERP中应用的比较多。通常这种操作自己本身也可以通过逻辑来实现,但是复杂度很高。而且不方便维护。所以通常都采用第三方引擎框架来实现,出了引擎本身简化了操作以外。更重要的是维护起来很方便。2、…

    2022年6月12日
    35
  • mysql 日志文件_mysql日志文件在哪「建议收藏」

    mysql 日志文件_mysql日志文件在哪「建议收藏」本篇文章将介绍mysql中的几种日志文件位置,如何能够找到。mysql日志文件的查询方法:查找错误日志文件路径showvariableslike‘log_error’;在mysql数据库中,错误日志功能是默认开启的。并且,错误日志无法被禁止。默认情况下,错误日志存储在mysql数据库的数据文件中。错误日志文件通常的名称为hostname.err。其中,hostname表示服务器主机名。错误日…

    2022年10月15日
    2
  • 一、Windows安装Git[通俗易懂]

    一、Windows安装Git[通俗易懂]工欲善其事必先利其器,工作中在使用Git之前,最先做的一件事就是安装它,但是因为不同的开发需求,工作中可能会用到的系统不一样,有使用Linux的,有使用Mac的,也有使用Windows的。不过Git在这几个系统中都有比较好的支持,只要能够进行正确的安装和配置都可以正常使用Git,下面直接进入主题。#Windows安装Git1、百度搜索Git直接点击图中箭头指向的链接,进入Git客户端下载的网站选择Windows,进入版本选择页面注意这里Git客户端分为普通安装版和便携版本,便携版本也就是上

    2022年9月8日
    3
  • Java代码生成器[通俗易懂]

    Java代码生成器[通俗易懂]项目说明本项目基于是基于renren-generator定制的代码生成器文章目录**项目说明**不同点:效果原理分析如何定制开发?更多可能存在的坑代码地址不同点:因为本人的公司使用的是tkmyabtis+swagger构建restapi,而renren-generator用的是mybatis-plus,而且不支持swagger,所以有了本项目效果…

    2022年4月27日
    50
  • 前端解决跨域的方法ajax_前端性能优化方法

    前端解决跨域的方法ajax_前端性能优化方法前端Ajax跨域解决方案

    2022年8月24日
    7
  • python 数字转换字符串(python转换字符串)

    原博文2019-06-3001:20−字符串->数字:int(字符串),float(字符串)数字->字符串:str(数字)…01602相关推荐2019-12-1214:34−##Python代码块、缓存机制1.相同的字符串在Python中地址相同“`pythons1=’panda’s2=’panda’print(s1==s2…

    2022年4月16日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号