- Entity(实体):实体通常指的是表示业务概念或对象的对象模型,被映射到数据库表中,用于持久化数据。实体通常包含属性和方法来描述其行为和状态。例如,在一个图书馆管理系统中,书籍可以是一个实体,它可能具有属性如书名、作者、出版日期等。
- VO(Value Object,值对象):值对象是一个简单的数据对象,其主要作用是封装一组相关的数据,并且通常是不可变的。值对象的主要特点是它们的相等性通常由其属性决定,而不是由标识符决定。在一些领域驱动设计(DDD)中,值对象用于表示概念上的值,例如日期范围、货币金额等。值对象通常不具有行为,而仅仅是一组数据的容器。
- DTO(Data Transfer Object,数据传输对象):DTO通常用于在不同的层之间传输数据,例如在应用程序的不同组件之间或者在客户端和服务器之间。DTO主要用于解耦数据的表示形式,从而避免将领域对象暴露给不相关的组件或服务。DTO通常是轻量级的,只包含应用程序需要传输的数据,而不包含业务逻辑。在使用RESTful API时,DTO常用于定义HTTP请求和响应的数据结构。
以上是一些概念接下来总结一下:
1.entity:与数据库表一一对应的实体类
entity就是与数据库表一 一对应的,数据库表中有什么字段,entity中就要有什么属性
2.VO:返回给前端的数据
个人的理解就是将前端需要的数据封装到VO中。前端需要展示的信息可能并不是同一张的表里的数据,例如前端想要展示菜品的分类信息那么需要的数据不光是菜品表里面的,一个菜品既关联所属的分类,还关联菜品的口味如辣度、冷热等,这时候就需要一个对象来封装这些数据一起返回给前端。
3.DTO:接收前端传来的数据
DTO定义的就是前端请求的数据,这些数据就使用一个DTO实体类来存放,因为这个请求的数据可能包含了多个实体类的字段。
举个例子,观察接口文档,前端传来新增菜品的数据时,需要保存该菜品的基本信息,还要保存它的口味和属于那个分类,这时候与数据库表对象的实体类就不能满足了,就需要单独封装一个DTO。