什么是包
包,就像一个容器,包含一些类的主要模型,包也可以组合在其他包中帮助模型管理。所以,包之间也存在从属关系。包是一个逻辑类或其他包的集合。
包的常见问题
1,避免循环依赖产生
2,测试时可以以包为测试单位
3,尽量把概念和语义上相近的元素包含在一个包中
4,对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其他所有元素都标记为受保护的或者私有的。
包中的元素
类、接口、构件、用例、节点、协作、用例等,这些元素跟包之间具有依赖关系,一旦包被建立,合适的类被重新分配在包中;若包被撤销,则其中的元素也将被撤销。
包的图符
每个包必须有一个与其他包相区别的名称,包的名称有两种形式:简单名和路径名。分别如下:
简单名
路径名
包图中的关系
包之间可以有两种关系:引用和访问依赖。
依赖关系
在一个包中引入另一个包输出的元素,其中依赖关系又包括使用依赖、包含依赖、访问依赖和跟踪依赖。
使用依赖
说明用户包中的元素以某种方式使用提供者包的公共元素。
包含依赖
提供者包命名空间的公共元素被添加为客户包命名空间上的公共元素
访问依赖
提供者包命名空间的公共元素被添加为客户报命名空间上的私有元素。
跟踪依赖
通常表示一个元素历史地发展成为另一个进化版本。
泛化
即包与包之间的继承关系
包图的作用
1,逻辑上把一个复杂的图模块化
2,组织代码源
3,是维护和控制系统总体结构的重要建模工具。