子用況繼承父用況的行爲和含義;
子用況可以增加或覆蓋父用況的行爲;
子用況可以出現在父用況出現的任何位置(父子均有具體的實例)。
個人理解:多態。
用況的包含關係(Include):CH16 P154
提取公共行爲。
表示基礎用況在它內部說明的某一位置上顯示地合併了另一個用況的行爲。
被包含的用況從不孤立存在,僅作爲某些包含它的更大的基礎用況的一部分出現。例如驗證用戶用況,本身沒有什麼意義,它只是從其它基礎用況(用戶登錄)中提取出來的公共行爲。
使用包含關係把公共行爲放到被包含用況中,避免重複描述統一事件流。
包含關係本質上是一個委託的例子。
例子:
主事件流:獲取和校驗訂單號。Include(驗證用戶)。……
個人理解:組合。
用況的延伸關係(Extend):CH16 P155
區分變體。
表示基礎用況再由延伸用況接見地說明的一個位置上隱式地合併另一個用況的行爲。
基礎用況可以單獨存在,但在延伸點上,它的行爲可以被另一個用況的行爲延伸。
延伸關係用於對可能被用戶看作是可選系統行爲的用況的一部分建模。
可以:
將可選行爲從必須行爲中分離出來;
描述一個只有在特殊條件下執行的子事件流;
對 可在某確定點插入的,並通過與參與者顯示交互而進行控制的流建模。
一個用況可以有多個延伸點,一個延伸點可以出現多次。
例子:
主事件流:Include(驗證用戶),手機用戶的訂單項,(設置優先級),……
個人理解:模板方法。