Java中各个公共类包的解释

一、具体含义

1、PO(persistant object) 持久对象

        a、有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。
        b、在hibernate持久化框架中与insert/delet操作密切相关。
        c、PO中不应该包含任何对数据库的操作

2、DO(Domain Object)领域对象

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

3、DAO (data access object)数据访问对象

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

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

        a、用在需要跨进程或远程传输时,它不应该包含业务逻辑。
        b、比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO 内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

5、VO(Value Object)值对象

        即value Object,通常用于业务层之间的数据传递,和PO一样仅包含数据,但应是抽象出的业务对象 , 可以和表对应 , 也可以不 , 这根据业务的需要 。用 new 关键字创建,由 GC 回收的。

6、VO(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对象

        实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

        POJO是Plain Ordinary Java Objects的缩写不错,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。

二、具体的区别及应用可以参考:

https://www.jianshu.com/p/ccdbef3ec75ficon-default.png?t=M0H8https://www.jianshu.com/p/ccdbef3ec75f

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个经典的HelloWorld Java程序,代码如下: ``` package com.example; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } ``` 这个程序可以在控制台输出“Hello, world!”这个字符串。下面解释程序的各个部分的含义: 1. `package com.example;`:这一行代码定义了这个类所属的包。包是Java用来组织和管理类的一种机制,类似于文件夹。`com.example`是包的名称,表示这个类属于`com.example`这个包。包名的命名规范是以域名的倒序作为前缀,间用点号分隔。 2. `public class HelloWorld`:这一行代码定义了一个公共的类`HelloWorld`。`public`关键字表示这个类可以被其他包的类访问。`class`关键字表示这个代码块是一个类的定义,`HelloWorld`是这个类的名称。 3. `public static void main(String[] args)`:这一行代码定义了一个公共的静态方法`main`。`public`关键字表示这个方法可以被其他类访问,`static`关键字表示这个方法是一个类方法,可以直接通过类名访问,而不需要创建实例对象。`void`表示这个方法没有返回值,`main`是这个方法的名称,`String[] args`是这个方法的参数列表,表示这个方法接受一个字符串数组作为参数。 4. `System.out.println("Hello, world!");`:这一行代码调用了`System.out`对象的`println`方法,输出了一个字符串`"Hello, world!"`。`System.out`是Java的标准输出对象,`println`是输出方法的名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值