Stream
可以从Collection
检索 Java 8 ,即public default stream<E> Collection.stream()
。所以我想用UML来表达Stream
和Collection
之间的关系。
我认为正确的关系是依赖。但我不确定。所以我想知道在{UML 方面Collection
和Stream
之间的正确关系是什么?如果是这样依赖的原则是什么?
答案 0 :(得分:6)
Collection
的{{1}}是一个聚合,它提供了一个方法E
,它返回stream()
Stream
个E
,它使用了集合{{ 3}}。
因此关系相当复杂:从Collection
到Stream
存在as source依赖关系。但与此同时,从Stream
到Collection
可能会导航<<create>>
,但这对外界来说并不明显。顺便说一下,你可以使用association代表两者。
所以你理论上可以有这样的东西:
但请注意,实际上您应该省略流和集合之间的关联,因为它不适用于外部世界。如果您对Java类库的内部设计感兴趣,那么这才有意义。你最好对<<create>>
约束进行评论,用简单的语言解释一个用作另一个的源。