生成聚合
聚合至少应该包含两个类 server-client 类。client对象的属性中有一个指向server对象的指针,以委托 server 完成特定的功能。
rose中的聚合与我理解的聚合不太相同。rose中的有向关联生成的代码就是我们所需要的聚合。而带空心宝石的连线--天知道是干什么的。
1、添加关联
2、设置重数为1;1
3、设置 server 类为 navigable
示例:
进程调用操作系统来完成文件IO操作。进程中维护了一个数组,数组中保存了指向打开的文件的指针,这些数组的索引称做“句柄”
其类图表示如下:
![聚合](/images/cnblogs_com/diylab/aggregation_1.jpg)
设置方法:
1、在工具栏选择 "association" (关联),从PCB类连接到SysIO类。
2、编辑roleB 属性。 open specital, role B detail , multiplic(重数) 为1。不勾选"navigable"
3、编辑roleA属性。 role A detail,填写 role A 名称为 fileHandle[64](这里需要验证语法是否有问题),勾选"navigable" 。
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)