本文主要介绍在Visual Studio中设计时序图,内容如下:

  1. 何时使用时序图
  2. 时序图元素介绍
  3. 条件、循环在时序图中的使用
  4. 直接通过代码生成时序图

一、何时使用时序图

当要查看单个用例内若干对象的行为时,应该使用时序图,时序图用于展示对象之间的协作(Martin Fowler)。

二、时序图元素介绍

先上一个图

上图中展示了时序图的基本元素:参与者,生命线,消息,返回,自我调用。

有一点注意一下,参与者people:People,这个是用类来表示的,格式是name: Class.。 如果用类表示参与者 name可以省略,但是冒号必须保留。如果在看别人画的时序图时发现参与者包含冒号,说明这是一个类。其他可能是一个普通抽象参与者。

三、循环、条件在时序图中的使用

1、条件

业务场景,用户要查询自己银行卡的消费记录,先访问bankService,bankService在收到查询请求时会先访问SecurityService来验证用户身份,如果身份合法则直接查询消费记录,否则,直接返回。

通过在Query消息线条上右键-Surround With-》alt完成操作

2、循环

业务场景,用户可能有多张卡,需要访问多次DataService进行查询。

通过在Query消息线条上右键-Surround With-》Loop完成操作

四、直接通过代码生成时序图

示例代码

生成方式:在方法上右键。

生成的时序图

通过代码生成时序图很少用,还是蛮方便的。这种便于像外人解释自己的代码逻辑,但是前提是代码要要简介,封装的彻底才行。

以上是自己平时工作中对于时序图用的最多的地方。VS里面做起来还是非常方便的。

最新文章

  1. 基于WCF MSMQ 的企业应用解决方案
  2. 用javascript写Android和iOS naitve应用,实在炫酷。
  3. js实现拖拽
  4. enumerate
  5. Integer的缓存机制
  6. JS验证邮箱格式是否正确的代码
  7. mybaties 缓存
  8. UGUI 粒子特效与UI层级问题
  9. codeforces-1131 (div2)
  10. 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件
  11. docker-ce-17.09 镜像获取,创建,删除,保存
  12. Tgrocery学习及使用
  13. wkhtmltopdf 参数介绍
  14. catalan数的新理解
  15. vCenter orchestrator使用范例
  16. React Native工程修改Android包名
  17. 下载Chrome独立版(alternate/offline Installer)的地方
  18. 利用 Intel Realsense做SLAM开发(一)
  19. 【mybatis】在mybatis分页查询时,主表对关联表 一对多 分页查询怎么实现
  20. PHP 基础系列(三) 【转】PHP 函数实现原理及性能分析

热门文章

  1. 【BZOJ1132】[POI2008]Tro 几何
  2. Linux安装virtualenvwrapper详细步骤
  3. 如何下载symfony
  4. Android系统字体规范
  5. C#泛型命名潜规则
  6. xpath取最后一个元素
  7. UML建模:学习笔记(1)
  8. Filebeat 导入 Elasticsearch 的方法
  9. mapreduce源码解析以及优化
  10. 第三篇、dom操作续