Uml 在复合结构中,如何连接彼此远离的球(提供的接口)和插座(需要的接口)?

Uml 在复合结构中,如何连接彼此远离的球(提供的接口)和插座(需要的接口)?,uml,Uml,考虑具有两个构件实例的复合结构:C1和:C2。 :C1需要:C2提供的接口I2 常见的选择是进行球窝连接 但是,我的图相当大,:C1和:C2彼此相距很远,我希望将球和插座放在相应的组件实例旁边 如果它是一个组件图(C1,C2而不是:C1,:C2),那么它将是一个依赖关系。复合结构的情况如何 谢谢。复合结构已经是分类器和实例级图表之间的混合,所以我认为没有类似的东西 如果您将部件定义为组件的实例,您可以绘制一个组件图来显示这种依赖关系(如您所说)。这听起来像是一个很好的策略——静态依赖于组件图和复

考虑具有两个构件实例的复合结构:C1和:C2。 :C1需要:C2提供的接口I2

常见的选择是进行球窝连接

但是,我的图相当大,:C1和:C2彼此相距很远,我希望将球和插座放在相应的组件实例旁边

如果它是一个组件图(C1,C2而不是:C1,:C2),那么它将是一个依赖关系。复合结构的情况如何


谢谢。

复合结构已经是分类器和实例级图表之间的混合,所以我认为没有类似的东西

如果您将部件定义为组件的实例,您可以绘制一个组件图来显示这种依赖关系(如您所说)。这听起来像是一个很好的策略——静态依赖于组件图和复合结构上相应的运行时实例结构


考虑到您的复合结构太大这一事实,您不应该在UML中遇到这种问题。你应该试着将你的结构分解成几个层次、图表等。

在U.M.L.中,你不必显示所有类或接口的整个结构,只需显示你需要的那些。通常在一个图中显示类或接口的整体表示,在其他图中显示部分视图,特别是当它与关联相关时

Yo还可以在概念上使用包,并在标识符处使用包表示法

[1] 第一个图表显示了很多细节,只有接口声明

...........................................................
...........................................................
..+-------------------------------------+..................
..|           <<Interface>>             |..................
..|        A::B::C::StreamInterface     |..................
..+-------------------------------------+..................
..| [+]  bool CanRead()                 |..................
..| [+]  bool CanWrite()                |..................
..| [+]  bool CanSeek()                 |..................
..+---+---------------------------------+..................
......|....................................................
......|....................................................
......|...........+-------------------------------------+..
......|........+--+            <<Interface>>            |..
......|........|..|     X::Y::Z::ReadStreamInterface    |..
......|........|..+-------------------------------------+..
......|........|..| [+]  bool CanRead()                 |..
......|........|..| [+]  bool CanWrite()                |..
......|..../|..|..| [+]  bool CanSeek()                 |..
......|.../.|..|..| [+]  bool IsEoS(...)                |..
......+--<..|--+..| [+]  bool Read(...)                 |..
..........\.|..|..+-------------------------------------+..
...........\|..|...........................................
...............|...........................................
...............|..+-------------------------------------+..
...............+--+            <<Interface>>            |..
..................|    M::N::O::WriteStreamInterface    |..
..................+-------------------------------------+..
..................| [+]  bool CanRead()                 |..
..................| [+]  bool CanWrite()                |..
..................| [+]  bool CanSeek()                 |..
..................| [+]  bool Write(...)                |..
..................+-------------------------------------+..
...........................................................
...........................................................
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
...........................................................
..+-------------------------------------+..................
..|                        |..................
..A::B::C::StreamInterface。。。。。。。。。。。。。。。。。。
..+-------------------------------------+..................
..|[+]bool CanRead()|。。。。。。。。。。。。。。。。。。
..|[+]bool CanWrite()|。。。。。。。。。。。。。。。。。。
..|[+]bool CanSeek()|。。。。。。。。。。。。。。。。。。
..+---+---------------------------------+..................
......|....................................................
......|....................................................
......|...........+-------------------------------------+..
......|........+--+                        |..
…X::Y::Z::ReadStreamInterface |。。
......|........|..+-------------------------------------+..
。。
…布尔可写()布尔可写()布尔可写()布尔可写()布尔可写()。。
…../../../../../..[+]bool CanSeek()。。
….../。。

…+--这是使用连接器的一种方法

..........................................................................................
..........................................................................................
..+-------------------------------------+..../|..+-------------------------------------+..
..|            <<Interface>>            |.../.|..|              <<Class>>              |..
..|     X::Y::Z::ReadStreamInterface    +--<..+--+       Q::R::S::ReadStreamClass      |..
..+-------------------------------------+...\.|..+-------------------------------------+..
..| [+]  bool CanRead()                 |....\|..| [+]  bool CanRead()     <<virtual>> |..
..| [+]  bool CanWrite()                |........| [+]  bool CanWrite()    <<virtual>> |..
..| [+]  bool CanSeek()                 |........| [+]  bool CanSeek()     <<virtual>> |..
..+-------------------------------------+........| [+]  bool IsEoS(...)    <<virtual>> |..
.................................................| [+]  bool Read(...)     <<virtual>> |..
.................................................+-------------------------------------+..
..........................................................................................
..........................................................................................
..+-------------------------------------+..../|..+-------------------------------------+..
..|            <<Interface>>            |.../.|..|              <<Class>>              |..
..|     M::N::O::WriteStreamInterface   +--<..+--+       D::E::F::WriteStreamClass     |..
..+-------------------------------------+...\.|..+-------------------------------------+..
..| [+]  bool CanRead()                 |....\|..| [+]  bool CanRead()     <<virtual>> |..
..| [+]  bool CanWrite()                |........| [+]  bool CanWrite()    <<virtual>> |..
..| [+]  bool CanSeek()                 |........| [+]  bool CanSeek()     <<virtual>> |..
..+-------------------------------------+........| [+]  bool Write(...)    <<virtual>> |..
.................................................+-------------------------------------+..
..........................................................................................
..........................................................................................
..........................................................................................