用况的泛化:CH16 P154
子用况继承父用况的行为和含义;
子用况可以增加或覆盖父用况的行为;
子用况可以出现在父用况出现的任何位置(父子均有具体的实例)。
个人理解:多态。
?
用况的包含关系(Include):CH16 P154
提取公共行为。
表示基础用况在它内部说明的某一位置上显示地合并了另一个用况的行为。
被包含的用况从不孤立存在,仅作为某些包含它的更大的基础用况的一部分出现。例如验证用户用况,本身没有什么意义,它只是从其它基础用况(用户登录)中提取出来的公共行为。
使用包含关系把公共行为放到被包含用况中,避免重复描述统一事件流。
包含关系本质上是一个委托的例子。
例子:
主事件流:获取和校验订单号。Include(验证用户)。……
个人理解:组合。
?
用况的延伸关系(Extend):CH16 P155
区分变体。
表示基础用况再由延伸用况接见地说明的一个位置上隐式地合并另一个用况的行为。
基础用况可以单独存在,但在延伸点上,它的行为可以被另一个用况的行为延伸。
延伸关系用于对可能被用户看作是可选系统行为的用况的一部分建模。
可以:
将可选行为从必须行为中分离出来;
描述一个只有在特殊条件下执行的子事件流;
对 可在某确定点插入的,并通过与参与者显示交互而进行控制的流建模。
一个用况可以有多个延伸点,一个延伸点可以出现多次。
例子:
主事件流:Include(验证用户),手机用户的订单项,(设置优先级),……
个人理解:模板方法。
?
?