zoukankan      html  css  js  c++  java
  • java-基础-【四】实际编程中的对象

    一、概述

      实际编程开发中,仅仅一个数据库对象映射是满足不了各种复杂需求。

      O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有个基本的也是重要的东东需要了解,即PO。

    二、对比

    以下指示大家通俗意义上的常用定义,一般以此为后缀【PO不用加】

    当然也可以定义自己的各种O对象,方便开发的简便与理解,比如个人常用的接收前端参数的RO【Request Object】、QO【query object】等

    名称 全名 基本含义 备注
    PO

    persistant object

    持久对象

    它们是由一组属性和属性的get和set方法组成

    可以看成是与数据库中的表相映射的java对象

    PO的属性是跟数据库表的字段一一对应的

    不建议增加任何逻辑

    可能是所有其他O的基类或属性

    VO【1】

    value object

    值对象

    业务对象,是存活在业务层的,是业务逻辑使用的,

    它存活的目的就是为数据提供一个生存的地方

     
    VO【2】

    View Object

    表现层对象

    主要对应界面显示的数据对象。对于一个WEB页面,

    或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。

     
    BO

    business object

    业务对象 

    从业务模型的角度看,见UML元件领域模型中的领域对象。

    封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

     
    POJO

    plain ordinary java object

    简单无规则java对象

    POJO是最常见最多变的对象,是一个中间对象

     
    DTO 

    Data Transfer Object

    数据传输对象

    主要用于远程调用等需要大量传输对象的地方。
    比如我们一张表有100个字段,那么对应的PO就有100个属性。
    但是我们界面上只要显示10个字段,
    客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
    这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.

    到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

     
    DAO

    data access object

    数据访问对象

    和以上完全不是一个概念

    主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO

     
  • 相关阅读:
    12-factor应用和微服务架构应用的区别
    SAP云平台里Global Account和Sub Account的关系
    SAP成都研究院李三郎:SCP Application Router简介
    介绍两个好玩的和Github相关的Chrome扩展
    Java,JavaScript和ABAP通过代码取得当前代码的调用栈Callstack
    SAP CRM和C4C的内容管理(Content Management)
    CRM WebClient UI的浏览器打印实现
    通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud
    使用ABAP批量下载Markdown源文件里的图片到本地
    ABAP下载的病毒扫描Virus Scan
  • 原文地址:https://www.cnblogs.com/bjlhx/p/6784859.html
Copyright © 2011-2022 走看看