设计模式入门篇(UML|时序图)

1,025 阅读1分钟

在学习设计模式之前,你必须要明白类图时序图。这样有助于你对类之间关系的理解,有助于理解设计模式。

一、UML类图

UML中的类图用于表示类、接口、实例等之间相互的静态关系


abstract:均用斜体表示。
static:均用下划线标注。


+:表示public字段
-:表示private字段
#:表示protected字段
~:表示default(缺省)

1.1 继承(extends)

abstract class Fruit {
    private String name;
    static String color;

    abstract String eat();
    String desc() {}
}
class Apple extends Fruit {
    String eat() {}
    public String send() {}
}

image.png

1.2 接口(interface)

public interface OrderService {
    void confirm();
}

public class OrderServiceImpl implements OrderService {
    void confirm() {}
}

image.png

1.3 聚合

只要一个类中持有另外一个实例(无论是一个还是多个),它们之间就是聚合关系。

public class OrderServiceImpl implement OrderService {
  private OrderMapper orderMapper;
  private DeliveryOrderMapper deliveryOrderMapper;
}

image.png

二、时序图

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

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

image.png

黑色箭头表示方法的调用。比如:这里表示client调用server的open方法

三、总结

类图表示“不因时间流逝而发生变化的关系(静态关系)”。
时序图表示“随时间发生变化的东西(动态行为)”