包图
什么是包图:包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。
为什么要用包图:在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。
包的图符:
包的元素:类、接口、构件、用例、其他包等
若包被撤销,则其中的元素也被撤销了。
包与包的关系:
泛化
细化
依赖(常用)
如果两个包中任意两个类都有依赖关系,则这两个包都有依赖关系:
包的访问限制:与我们平时了解的3个访问权限设置关键字用法相同。
在建模时应该避免包之间的循环依赖,也就是不能够包含相互依赖的情况,对于这种情况应进行分析:
包图的常见问题
1.一定要避免循环依赖的产生。
2.测试时可以以包为测试单位
3.应该尽量把概念和语义上相接近的元素包含在同一个包中。
4.对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其他所有元素都标记为受保护的或者私有的。