设计模式之看懂时序图

一 定义

  • 时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。时序图中显示的是参与交互的对象及其对象之间消息交互的顺序。
  • 时序图包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。
    在这里插入图片描述

二 处理流与对象间的协作

class Client {
    Server server;
    void work(){
        server.open();
        server.print("Hello");
        server.close();
    }
    // ...
}

class Server{
    Device device;
    void open(){
        // ...
    }
    void print(String s){
        device.write(s);
        // ... 
    }
    void close(){
        // ...
    }
    // ...
}

class Device{
    void write(String s){
        // ...
    }
}

在这里插入图片描述
说明:

  • 图中共有3个实例,最上方的3个长方形表示。在其内部写有类名,类名跟在冒号之后,并带有下划线,分别代表Client类,Server类,Device类的实例。如果需要可以在冒号之前表示出实例名,如server:Server
  • 每个实例都带有一条向下延伸的虚线,称为生命线。可以理解为时间从上向下流逝,上面是过去,下面是未来。生命线仅存在于实例的生命周期内。
  • 生命线上有一些细长的长方形,表示实例处于某种活动中
  • 黑色实现箭头表示方法的调用。以带有open字样的箭头为例,表示client调用server的open方法。当server的open方法被调用后,server实例处于活动中,因此open箭头处画出了一个细长的长方形。
  • 虚线箭头(<------)表示返回消息
  • 时序图的阅读顺序是沿着生命线从上至下阅读。然后当遇到箭头时,我们可以顺着箭头所指的方向查看对象间的协作。

版权声明:本文为weixin_43960684原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。