端口是类与其环境之间或者类的行为与其内部部件之间的独特交互点。使用端口来指定与所嵌入到的环境无关的类。类的内部部件可以与环境隔离,反之亦然。
端口可以具有下列接口:
- 供给接口描述可以从环境中通过端口向类发出的请求。供给接口由棒棒糖或球表示法指示。
- 需求接口描述可以从类通过端口向其环境(外部对象)发出的请求。需求接口由套接字表示法指示。
下图显示了具有一个端口(类元素底边上的小方框)的 AbsHardware 类,该端口具有供给接口(棒棒糖或球)和需求接口(插座)。
这些接口是使用合同指定的(合同本身是供给接口)。有关更多信息,请参阅指定端口合同。
如果某个端口是行为端口,那么供给接口的消息将转发到所有者类;如果它是非行为端口,那么消息将发送至该类的其中一个内部部件。如果从不同的端口接收事件,那么类能够对同一类型的事件加以区分。
注: 产品提供了一个 C++ 样本项目 (HomeAlarmWithPorts),此样本使用家庭警报安全系统来演示如何使用 UML 2 端口来指定部件交互点。请查看
<产品安装文件夹>\Samples\CppSamples\。