什么是包图?
包图是对UML图进行打包,按照你的期望值来展示的一种图形,它主要用于展示宏观上的内容。
包图用于软件设计时,可以从宏观上组织你的设计,展示你的设计意图。往往人们用包图来对进行打包,但是事实上,包图可以对UML任意图进行打包。
说白了,包图就是一个分组的过程,把联系紧密的事物进行分组,从而创建出导航性更好,结构更好的模型。
包图的语法其实很简单,如下图:
一个包的样子就好像我们平时见到的文件夹,同时一个包也可以包含另外一个包。
包的可见性:
通常包所拥有的元素师公共的,包中的任何元素都可以被引用它的包访问。
用“+”来表示public,用“#”来表示protected,用“-”表示Private
包与包之间的关系:
上图中,表示包2和包3同时依赖于包1
在一些复杂的大型的类图中,用包图进行组织后,我们可以清楚的看到整体的关系。
包的作用:
- 对语义上相关的元素进行分组
- 定义模型中的语义“边界”
- 提供配置管理单元
- 在设计时,提供并行工作的单元。
- 提供封装的命名空间,其中所有名称必须唯一。
包的常见问题:
- 一定要避免循环依赖产生
- 测试时可以以包为测试单位
- 应该尽量把概念和语义上想接近的元素包含在同一个包中。
- 对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其他所有元素都标志为受保护的或者私有的。