回忆:
- 类图:描述系统内部的静态结构。
- 用例图:表示外部对象(参与者)与系统之间的互动,描述系统外部行为
- 序列图:表示系统内部一小群对象之间互动,即在参与者互动执行某一个用例的执行期间系统内部的运作情况
BCE模式(Boundary-Control-Entity Patterns)
- 序列图关联了类图和用例图两方面,可通过BCE模式来确定序列图。
- 使用BCE模式可以降低绘制用例序列图的难度。
- 将对象分为三类:边界类、控制类、实体类
- 边界类:用来隔离系统,通常负责接收并响应系统内外的消息。参与者只能与边界对象互动,不能直接发送消息给控制对象或实体对象。
- 控制类:对应用例,控制用例执行期间的复杂运算或者业务逻辑。
- Boundary发生的用户事件消息,皆是controller的方法。
- 实体类:从类图来看,我们找出对应领域概念的类,正属于实体类,用来保存问题领域的重要信息,封装了跟数据结构和数据存储有关的变化。
- 从领域模型获取属性
- 如果模型之间存在关联,请将关系转为合适的实现
- 将controller消息转化为方法
- 应用原则:
- 针对每一个用例,可以对应生成一个控制类。
- 参与者对象只能跟边界对象互动。
- 实体对象不能发送消息给边界对象和控制对象。
- 如果只是单纯对数据表进行增加、删除、修改、查询的话,可以不设置控制对象,让边界对象直接发送消息给实体对象,以提高整个序列图的执行速度。