UML
发表于:2020-03-11 | 分类: 后端

对象关系设计

泛化关系(generalization也叫继承关系)

在UML类图中泛化关系使用空心三角+实线来表示
UML1

类与类之间的泛化关系

接口与接口之间的泛化关系
UML2

实现关系(realization)

接口与实现类的关系, 在UML中实现关系使用空心三角+虚线来表示
UML3

依赖关系(dependent)

表示一个A类依赖于另一个B类的定义,如果A对象离开了B 对象,A 对象就不能正常编译,则A 对象依赖B 对象(A 类中使用到了B 对象)。

分为三种情况: 作为成员变量依赖 作为方法参数依赖 作为方法内部的局部变量依赖

在 UML 中依赖关系使用虚线箭头表示
UML4

public class EmployeeServiceImpl implements IEmployeeService { 
    
    private EmployeeMapper employeeMapper; //成员变量依赖
    
    public PageResult query(QueryObject qo) { //作为方法参数依赖
        return new PageResult();// 作为方法内部的局部变量依赖
    }
}

关联关系(association)

A对象依赖B对象,并且把B作为A的一个成员变量,则A和B存在关联关系

(对应为依赖关系的情况一,所以关联关系是一种特殊的依赖关系)

在 UML 中关联关系使用实线箭头表示。
UML5

@Getter
@Setter
@ToString
public class Department{
    private Long id;
    private String name;
}
	
@Getter
@Setter
@ToString(exclude = "dept")
public class Employee{
    private Long id;
    private String name;
    private Department dept;
}

聚合关系(aggregation)

表示整体和个体的关系(A has a B),整体和个体之间可以相互独立存在(比如手机和手机卡)

在UML 中聚合关系使用空心菱形+实线箭头表示。
UML6

@Data
public class Phone{
    private Card card;
}	
@Data
public class Card{
}

组合关系(composition)

表示整体和个体的关系(A contains B),个体作为整体密不可分的一部分 (比如账单和账单明细)

在UML 中,组合关系使用实心菱形+实线箭头表示。
UML7

@Data
public class OrderBill {
    private List<OrderBillItem> items;
}	
@Data
public class OrderBillItem {
    private OrderBill bill;
}
上一篇:
Thymeleaf
下一篇:
Linux