当前位置:首页 > 统一建模语言UML实验报告
误就会导致另一个程序集也编译不通过,于是让这个编译错误就会循环传递,使得编译器告诉我们:两个程序集不能编译通过。(如图1)
图1 AssemblyA 与AssemblyB之间的依赖关系 下面是解决方案来解除这种循环依赖关系:
1.将产生依赖的类型分离出来,放到另一个新的程序集AssemblyC中去。
2.使用接口来解除循环依赖: 这种方式的具体做法(如图2):
2.1. 从被依赖的类中,提取出一个接口放到新的程序集中(接口中的成员是依赖类中所依赖的,当然被依赖的类是实现了该接口的)。 2.2 依赖类去引用2.1中新建的程序集中的新接口。
图2 使用接口解除两个程序集的循环依赖关系
6、 建立包图应注意哪些问题?
答: 1.包的命名要简单、具有描述性。2.应用包是为了简化3.包应该连贯。4.在包上用版型注明架构层。5.避免包间的循环依赖。6.包依赖应该反映内部关系
7、 根据下图判断下面哪句话正确的说明了包之间的依赖关系。
A) 对Package1包中的元素做了修改后,需检查Package2包中
的元素和Package3包中的元素是否要做相应修改。 B) 对Package1包中的元素做了修改后,需检查Package2包中
的元素是否需要做相应修改,如果是,则需继续检查是否Package3包中元素也要做相应修改。
C) 对Package3包中的元素做了修改后,需检查Package2包中
的元素是否需要做相应修改,如果是,则需继续检查是否Package1包中元素也要做相应修改。
D) 对Package3包中的元素做了修改后,需检查Package2包中
的元素和Package1包中的元素是否要做相应修改。 答:C
8、 下面包图设计中是否存在问题?应如何改进。
A)
B
答:存在问题,出现了循环依赖关系,A图中B不能即依赖C同时还依赖E。
B修改后:
[分析与讨论]
1、结合一个具体例子,分析UML建模过程中包图所起的作用。
;
答:作用:
1)对语义上相关的元素进行分组; 2)定义模型中的“语义边界”; 3)提供配臵管理单元;
4)在设计时,提供并行工作的单元;
5)提供封装的命名空间,其中所有名称必须惟一
共分享92篇相关文档