DO、DTO、VO

发布时间 2023-06-30 11:56:29作者: NeverLateThanBetter

这三个不同名称的对象,在不同的公司可能由不同的作用,下面介绍的是通常这三个不同名称的对象的使用范围。

  1. DO(Data Object):(对接数据库)
    DO是指数据对象,它通常与数据库表或持久化层中的实体对象相对应。
    DO用于封装和表示与数据存储相关的数据,并与数据库进行交互。
    DO通常包含与数据库表中的列相对应的属性,并提供对这些属性的访问方法。
    DO可以包含业务逻辑,但通常只涉及与数据存储相关的逻辑。

  2. DTO(Data Transfer Object):(controller->service)
    DTO是指数据传输对象,用于在不同层(例如,应用程序层和服务层)或不同系统之间传输数据。
    DTO的目的是将数据从一个层转移到另一个层,以减少层间的数据交互和数据传输次数。
    DTO通常包含与特定业务功能相关的数据,并提供对这些数据的访问方法。
    DTO可以是只读的,不应包含业务逻辑。

  3. VO(Value Object):(通常用于封装从前端传递的数据)
    VO是指值对象,它是用于封装一组相关数据的不可变对象。
    VO通常用于传递和表示特定领域的数据,它们可以包含多个属性,但不提供对这些属性的修改方法。
    VO的主要目的是传递数据,并提供对数据的访问方法,而不包含任何业务逻辑。
    VO可以用于封装从数据库或其他数据源检索的数据,或者用于表示业务领域中的特定概念。