PO,BO,DTO,VO这些东西统称为数据模型对象。它们都是为了更好的组织和管理数据而设计出来的模型对象,已便在不同应用程序层次之间进行数据传输和交互。每个对象都有其特定的职责和使用场景,但它们都属于数据模型对象的范畴
POJO
“Plain Old Java Object”,简单java对象。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
PO
PO (Persistent Object)持久层对象,由多个属性和它们的set,get方法组成。数据库中的一条记录就对应一个持久层对象,PO中不含任何对数据库的操作,PO的属性和数据库表中的字段是一一对应的,PO还需要实现序列化接口。
DTO
DTO(Data Transfer Object)数据传输对象:用于表现层和服务层之间的数据传输对象,不应该包含业务逻辑。假如一张表有二十多个字段,那么对应的PO就有100个属性。但前端显示只需要其中的几个字段,没必要把所有的属性全部传给前端,这时我们只需要用只要这几个字段的DTO来传给前端。如果此时前端展示的数据需要DTO中的属性进行处理,那么DTO会转化为VO
VO
VO是View Object的缩写,视图对象。他是一个用于前端展示的视图对象,通常根据前端的需求定制。VO中的属性通常是为了满足前端的展示需求而设计的。在后端处理数据时,可能会将DTO转化为VO,以适应前端的展示需求
BO
BO是Business Object的缩写,业务对象,封装业务逻辑的对象。处理业务逻辑时我们可以使用BO去处理。业务对象的主要作用是把业务逻辑封装为一个对象。这个对象可以包含一个或多个其他对象。例如,简历上有个人信息,教育经历,获奖经历等等,它们都对应着一个PO。而简历包含这些PO,这个简历就是BO
总结
这些数据模型对象各有侧重,通过明确它们的职责和边界,可以使代码结构更清晰,更容易理解和维护。同时,也有助于团队协作,不同的开发人员可以专注于自己负责的领域和对象,提高工作效率。
我们走后,他们会给你们修学校和医院,会提高你们的工资,这不是因为他们良心发现,也不是因为他们变成了好人,而是因为我们来过