UML中的類型化聚合

在下面的UML類圖中,我想說明,Course.chaptersChapter.sections成員分別由AugmentedList<Chapter>AugmentedList<Section>實現(xiàn)。

我知道應該避免在SO上使用圖像,因此下面是與此圖對應的Kotlin代碼。

interface AugmentedList<E>: List<E> {
  val introduction: String
  val conclusion: String
}

interface Section

interface Chapter {
  val sections: AugmentedList<Section>
}

interface Course {
  val chapters: AugmentedList<Chapter>
}

我知道將模板類綁定到non-templated類的方法是通過綁定,但是我希望避免在圖中添加“具體”接口,因為AugmentedList<Chapter>AugmentedList<Section>接口不會在代碼中顯式實現(xiàn)。

也許有一個接口原型沒有實現(xiàn),只是在UML圖中使用?

我還研究了向Course接口添加一個限定符chapters: AugmentedList<Chapter>,但我覺得這不是限定符的目的。

有沒有一種正確的方法來精確地描述如何實現(xiàn)組合?

? 最佳回答:

警告:圖表中的章節(jié)和部分位于錯誤的一側(cè),它們必須與多重數(shù)0..*位于同一側(cè)。


如果您不想顯示命名綁定類,如ChapterList和SectionList,如:

您可以使用匿名綁定類(參見圖9.6匿名綁定類第106頁,共formal/2017-12-05頁):

如果您甚至不想顯示它們,可以使用屬性來顯示屬性:

不管怎樣,如果你想畫你的作品,你可以這樣做:

它清楚地(即使不是正式的)表明了章節(jié)是如何被記住的。當然,在理論上,您必須定義原型AugmentedList,擴展元類關聯(lián)通常用于模型到代碼的轉(zhuǎn)換,這是擴展UML的原因之一(參見§12.3.1.1定位概要文件與元模型,MOF和UML第252頁和第253頁,共formal/2017-12-05頁)

在這些圖中,我使用了一些依賴關系<<use>>來突出顯示類之間的鏈接,它們不是必需的,例如,您可以直接在課程和章節(jié)之間以及章節(jié)和小節(jié)之間使用它們(如果還不是這樣)。

主站蜘蛛池模板: 国产一区二区三区在线观看精品| 亚洲午夜精品第一区二区8050| 成人一区专区在线观看| 亚洲国产成人久久一区WWW | 成人精品一区二区三区不卡免费看| 国产主播福利一区二区| 国产亚洲一区二区三区在线不卡 | 亚洲国产成人一区二区精品区 | 精品国产一区二区三区久久蜜臀| 无码人妻啪啪一区二区| 免费无码毛片一区二区APP| 精品一区二区三区免费观看 | 日本一区二区三区不卡视频中文字幕| 亚洲Av高清一区二区三区| 午夜福利av无码一区二区| 大屁股熟女一区二区三区| 亚洲国产成人久久综合一区77| 国产丝袜无码一区二区视频| 亚洲AV香蕉一区区二区三区| 亚洲国产欧美国产综合一区 | 亚洲福利视频一区二区| 国产三级一区二区三区| 一区二区在线播放视频| 无码AV一区二区三区无码| 亚洲A∨精品一区二区三区| 区三区激情福利综合中文字幕在线一区| 国产精品亚洲一区二区三区久久| 日本韩国一区二区三区| 波多野结衣中文一区| 亚洲日本一区二区一本一道| 一区二区3区免费视频| 国产人妖视频一区二区| 青青青国产精品一区二区| 秋霞无码一区二区| 精品国产AV无码一区二区三区| 韩国一区二区三区视频| 视频在线观看一区二区| 亚洲日本一区二区三区在线| 久久一区二区三区免费播放| 亚洲欧洲精品一区二区三区| 日韩视频在线一区|