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

UML——包图[通俗易懂](30分钟学会UML类图)-冯金伟博客园UML——包图[通俗易懂](30分钟学会UML类图)-冯金伟博客园


一.包

1.作用

2.图符

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

   —  更清晰的组织源代码。

   UML——包图[通俗易懂](30分钟学会UML类图)-冯金伟博客园UML——包图[通俗易懂](30分钟学会UML类图)-冯金伟博客园

3.元素

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


二.关系

1.依赖

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

2.泛化

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


三.注意的问题

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

   UML——包图[通俗易懂](30分钟学会UML类图)-冯金伟博客园UML——包图[通俗易懂](30分钟学会UML类图)-冯金伟博客园

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

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

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

4.包内元素的作用域。

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