Java DDD—— entity、bo、vo、po、dto、pojo等

news/2025/3/26 2:47:47/

VO

value object:值对象

通常用于业务层之间的数据传递,由new创建,由GC回收。

restful 使用vo。 针对view显示,在web上传递。用一个VO对象对应整个界面的值。

PO

persistant object:持久层对象;最形象的理解就是一个PO就是数据库中的一条记录
对应数据库中表的字段,与数据库打交道。

PO中应该不包含任何对数据库的操作。
VO和PO,都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的。

Entity

实体,和PO的功能类似,和数据表一一对应,一个实体一张表。

DTO

data transfer object:数据传输对象。

表里面有十几个字段:id,name,gender,age,conmpanyId等

页面需要展示四个字段:name,gender,age,conmpanyName。

DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构。

展示层与服务层之间的数据传输对象

rpc使用DTO

DAO

data access object:数据访问对象

主要用来封装对数据的访问,注意,是对数据的访问,不是对数据库的访问。

此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合VO, 提供数据库的CRUD操作。

BO

business object:业务对象

BO把业务逻辑封装为一个对象。

我理解是PO的组合,比如投保人是一个PO,被保险人是一个PO,险种信息是一个PO等等,他们组合起来是第一张保单的BO。

POJO

plain ordinary java object:简单无规则java对象

纯的传统意义的java对象,最基本的Java Bean只有属性加上属性的get和set方法。

可以转化为PO、DTO、VO;比如POJO在传输过程中就是DTO。

DO

(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。

  • DO具有一些不应该让展示层知道的数据;比如对于一个getUser方法来说,本质上它永远不应该返回用户的密码,因此UserInfo至少比User少一个password的数据。

restful 使用VO;

RPC使用DTO。

DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。


http://www.ppmy.cn/news/494105.html

相关文章

一篇搞懂OOA/OOD/OOP的区别

文章目录 OOAOODOOP总结 相关文章: 一篇搞懂OOA/OOD/OOP的区别面向对象的基本原则-抽象,封装,继承,分解GRASP模式概述面向对象的六大原则 OOA什么鬼,OOD又是什么鬼,OOP我去这个又是什么鬼,都是…

对OOA、OOD和OOP的较浅理解

一、 OOA、OOD、OOP的基本概念: Object-Oriented Analysis(面向对象分析方法)是确定需求或者业务的角度,按照面向对象的思想来分析业务。例如:OOA只是对需求中描述的问题,进行模块化的处理,描述…

OOA、OOD、OOP是什么?

面向对象分析(OOA) “面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求。” 面向对象设计(OOD) “面向对象设计是一种设计方法,包括面向对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻…

Java:do、dto、bo、ao、vo、pojo

一、POJO(Plain Old Java Object): 普通的Java对象,是一种简单的JavaBean,主要用于数据传输。POJO类除了属性和必要的getter/setter方法外,没有其他的业务逻辑和特殊的操作,通常作为数据模型…

OOA/OOD/OOP 的区别

这是一个故事: "工程師修了一條隧道,隧道的一端就是美麗的風景,很多人會開車通過隧道.雖然隧道內已經有燈了,但是設計者擔心隧道可能會停電,所以在隧道的入口立了牌子,提醒駕駛員進入隧道前開燈.可是由此却使得駕駛員由於看到美麗的風景而忘記關燈的情況的發生." 引…

一篇搞懂OOA/OOD/OOP区别

最近在准备软考,看到第一章需求部分,一顿懵逼。 OOA什么鬼,OOD又是什么鬼,OOP我去这个又是什么鬼,都是面向对象怎么就出现了三个呢,我咋感觉对此一无所知,迷失在OO中。如果你跟曾经我一样的迷惑…

【设计】OOA、OOD、OOP

这三者都是 OO(Object-Oriented)领域的思想。 一般我们我们接到产品经理的需求后,开发阶段分这样几个步骤: 可行性预研阶段,此阶段评估需求是否合理,能否实现;OOA阶段,此阶段分析用…

docker详细介绍

关于 Docker 是什么,有个著名的隐喻:集装箱。但是它却起了个“码头工人”(docker 的英文翻译)的名字。 这无疑给使用者很多暗示:“快来用吧!用了 Docker,就像世界出现了集装箱,这样你…