在学习设计模式之前,你必须要明白类图
和时序图
。这样有助于你对类之间关系
的理解,有助于理解设计模式。
一、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() {}
}
1.2 接口(interface)
public interface OrderService {
void confirm();
}
public class OrderServiceImpl implements OrderService {
void confirm() {}
}
1.3 聚合
只要一个类中持有
另外一个实例(无论是一个还是多个),它们之间就是聚合
关系。
public class OrderServiceImpl implement OrderService {
private OrderMapper orderMapper;
private DeliveryOrderMapper deliveryOrderMapper;
}
二、时序图
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() {}
}
黑色箭头表示方法的调用。比如:这里表示client调用server的open方法
三、总结
类图
表示“不因时间流逝而发生变化的关系(静态关系
)”。
时序图
表示“随时间发生变化的东西(动态行为
)”