您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关UML依赖特征和使用注意事项有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
UML依赖关系的特征
对于两个相对独立的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间主要体现为依赖关系,例如生产零件的机器和零件,机器负责构造零件对象。再例如充电电池和充电器,充电电池通过充电器来充电。再例如自行车Bicycle和打气筒Pump,自行车通过打气筒来充气。图1-39为Bicycle类与Pump类的类框图。
图1-39Bicycle类与Pump类的依赖关系
Bicycle类和Pump类之间是UML依赖关系,在Bicycle类中无需定义Pump类型的变量。Bicycle类的定义如下:
publicclassBicycle{
/**给轮胎充气*/
publicvoidexpand(Pumppump){
pump.blow();
}
}
在现时生活中,通常不会为某一辆自行车配备专门的打气筒,而是在需要充气的时候,从附近某个修车棚里借个打气筒打气。在程序代码中,表现为Bicycle类的expand()方法有个Pump类型的参数。以下程序代码表示某辆自行车先后到两个修车棚里充气:
myBicycle.expand(pumpFromRepairShed1);//到***个修车棚里充气
myBicycle.expand(pumpFromRepairShed2);//若干天后,到第二个修车棚里充气
UML依赖关系使用注意事项
1.对存在依赖关系的两个类生成代码时,并不对关系的类增加属性。但产生支持关系所需的特定语句。在C++中,生成代码中会包括必要的#include语句。
例如类A依赖于类B,类A没有B属性,因此要用其他方法查找B。有三种方法:
如果B是全局的,则类A知道它存在。
如果B实例化为类A操作中的本地变量,则类A知道它存在。
如果B作为参数传递到类A中,则类A知道它存在。
在依赖关系中,必须采用这三种方法之一。
关联于UML依赖的第二个差别在于方向,关联可以是双向的,而依赖只能是单向的。
2.包之间同样存在依赖性。例如包A依赖于包B。则不能直接在另一个应用程序中复用A包,而要同时复用B包。而B包更容易复用,因为它没有依赖于其他包。
要确定包依赖性关系,就要检查Class框图中的关系。如果不同包中的类之间有关系,则包也有关系。
生成包依赖关系时,要尽量避免循环依赖性。要避免循环依赖,可以把一个包一分为二。
关于“UML依赖特征和使用注意事项有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。