首页 > 编程语言 >Java Object 划分

Java Object 划分

时间:2023-05-23 20:44:58浏览次数:36  
标签:object Java 对象 数据库 Object 业务 划分 PO

Object 划分

1.PO(persistant object) 持久对象

PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包
含任何对数据库的操作。

2.DO(Domain Object)领域对象

就是从现实世界中抽象出来的有形或无形的业务实体。

3.TO(Transfer Object) ,数据传输对象

不同的应用程序之间传输的对象

4.DTO(Data Transfer Object)数据传输对象

这个概念来源于 J2EE 的设计模式,原来的目的是为了 EJB 的分布式应用提供粗粒度的
数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这
里,泛指用于展示层与服务层之间的数据传输对象。

5.VO(value object) 值对象

通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已。但应是抽象出
的业务对象 , 可以和表对应 , 也可以不 , 这根据业务的需要 。用 new 关键字创建,由
GC 回收的。
View object:视图对象;
接受页面传递来的数据,封装对象
将业务处理完成的对象,封装成页面要用的数据

6.BO(business object) 业务对象

从业务模型的角度看 , 见 UML 元件领域模型中的领域对象。封装业务逻辑的 java 对
象 , 通过调用 DAO 方法 , 结合 PO,VO 进行业务操作。business object: 业务对象 主要作
用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 比如一个简
历,有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个 PO ,工作经
历对应一个 PO ,社会关系对应一个 PO 。 建立一个对应简历的 BO 对象处理简历,每
个 BO 包含这些 PO 。 这样处理业务逻辑时,我们就可以针对 BO 去处理。

7.POJO(plain ordinary java object) 简单无规则 java 对象

传统意义的 java 对象。就是说在一些 Object/Relation Mapping 工具中,能够做到维护
数据库表记录的 persisent object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增
加别的属性和方法。我的理解就是最基本的 java Bean ,只有属性字段及 setter 和 getter
方法!。
POJO 是 DO/DTO/BO/VO 的统称。

8.DAO(data access object) 数据访问对象

是一个 sun 的一个标准 j2ee 设计模式, 这个模式中有个接口就是 DAO ,它负持久
层的操作。为业务层提供接口。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包
含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业
务逻辑与数据库资源中间。配合 VO, 提供数据库的 CRUD 操作.

标签:object,Java,对象,数据库,Object,业务,划分,PO
From: https://www.cnblogs.com/cavange/p/17426333.html

相关文章

  • Java设计模式-原型模式
    简介原型模式是一种创建型设计模式,它允许在运行时通过复制现有对象来创建新对象,而不是通过构造函数创建。这个模式的核心思想是基于一个现有的对象克隆一个新的对象,这个过程对外部世界是透明的,就像对象从未被克隆过一样。原型模式的一个关键优点是可以避免在创建对象时重复性地......
  • Java核心之多态
    多态解析:最早学一个变量------>内存空间(小容器) 只有一个后来学一个数组------>内存空间(小容器) 存储一组一样的数据类型 好处是在于堆内存中存储的地址连续 便于循环遍历 数组创建时必须指定长度  频繁的添加或删除元素 个数固定就很不方便再后来学习如何描述类---......
  • [Java]instanceof和getClass()的区别
    getClass()willbeusefulwhenyouwanttomakesureyourinstanceisNOTasubclassoftheclassyouarecomparingwith. classA{}classBextendsA{}Objecto1=newA();Objecto2=newB();o1instanceofA=>trueo1instanceofB=>false......
  • java api调用kafka
    已经启用了zookeeper和kafka单机的ip为192.168.80.128加入maven的pom.xml代码如下 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.8.2.1</version&g......
  • Java图像二值化,并裁去白边
    手写签名场景,为更符合签名效果,节省服务器存储空间,将原图二值化后,再将多于空白去裁去。java中图像二值化有个小技巧,能够很方便将图像二值化,不用再重费心思去研究二值化过程,技巧在这个参数BufferedImage.TYPE_BYTE_BINARY 1packagecom.test;23importjava.awt.Color;......
  • 【Java Web】MultipartFile和byte[]互转
    接口接收文件@RequestParam("file")MultipartFilefileMultipartFile转byte[]Stringname=file.getName();StringoriginalFilename=file.getOriginalFilename();StringcontentType=file.getContentType();Stringbytes=file.getBytes();byte[]转Multipar......
  • javascript中的错误类型
    javascript中的错误类型:SyntaxErrorTypeErrorReferenceErrorRangeErrorURLErrorErrorSyntaxError语法错误//当您在编写一个函数时忘记了括号,)来括起您的代码,您将收到一个SyntaxError错误functionsay(text){returntext;}say('shark';//outputUncaug......
  • java.sql.SQLException: Access denied for user 'root'@'localhost' (using password
    org.apache.ibatis.exceptions.PersistenceException:###Errorqueryingdatabase.Cause:java.sql.SQLException:Accessdeniedforuser'root'@'localhost'(usingpassword:YES)###Theerrormayexistincom/itheima/mapper/BrandMapper.j......
  • org.springframework.data.annotation.Transient 和 javax.persistence.Transient 的
    1、org.springframework.data.annotation.Transient 和 javax.persistence.Transient 都是用于标记一个属性不需要被持久化到数据库中的注解。它们的区别在于它们所处的框架和使用场景。org.springframework.data.annotation.Transient 是SpringDataJPA框架提供的注解,用......
  • java入门
    java简介:1.什么是程序:程序通常指完成某些事情的一种既定方式和过程;(方式){细节1;细节2;细节3}(过程){第一步;第二步;第三步}2.java的产生:1995年诞生。java之父高斯林3.java的发展史:java诞生于1995年。java目前在企业开发过程中,使用和占有率最高的是jdk1.84.java的技术平台:java技术平......