• PO/DTO/VO?POJO


    Java是一门面向对象的语言,里面有众多的名词对象,比如分层领域模型里面的PO,VO,DAO…,这些名词都是什么意思呢?解释各种名词之前,先放一张图,

    VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。

    • 用户发出请求(可能是填写表单),表单的数据在展示层被匹配为VO。
    • 展示层把VO转换为服务层对应方法所要求的DTO,传送给服务层。
    • 服务层首先根据DTO的数据构造(或重建)一个DO,调用DO的业务方法完成具体业务。
    • 服务层把BO转换为持久层对应的PO(可以使用ORM工具,也可以不用),调用持久层的持久化方法,把PO传递给它,完成持久化操作。
    • 对于一个逆向操作,如读取数据,也是用类似的方式转换和传递。

    VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。

    DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。通常用于处于不同架构层次或者不同子系统之间的数据传递,或者用于外部接口参数传递,以便提供不同粒度不同信息的数据,以免造成困惑干扰。但在这里,我泛指用于展示层与服务层之间的数据传输对象。

    从设计层面来说,VO和DTO有着本质上的区别,DTO代表服务层需要接收的数据和返回的数据,而VO代表展示层需要显示的数据。所以,VO对象的属性可能会比DTO对象的属性少,且可能值不同。 

    BO(Business Object):业务对象。可以理解为PO的组合,主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其他的对象。比如一份简历,有教育经历、工作经历、社会关系等。可以把教育经历对应一个 PO,工作经历对应一个 PO,社会关系对应一个 PO,然后建立一个对应建立的 BO来处理简历,每个 BO 包含这些 PO,这样就可以针对 BO 去处理业务逻辑。

    PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

    POJO(Plain Ordinary Java Object):简单普通的Java对象,一个POJO持久化以后就是PO,直接用它传递,传递过程就是DTO,直接用来对应表示层就是VO。

  • 相关阅读:
    选择正确的API从SQL Server获取XML数据
    XmlTextWriter学习笔记[转]
    简单的在线RSS阅读器[转]
    如何从客户端 JavaScript 调用 .NET Web 服务使用 InternetExplorer 和 MSXML
    用xmlhttp将html的数据打包成multipart/formdata格式,实现异步上传文件功能[转]
    ASP.Net中MD5加密16位32位
    第一个XMLHTTP测试成功![原创]
    php目录操作函数
    原创JS幻灯片效果,超少代码
    PHP MVC设想,MVC框架构思(一)
  • 原文地址:https://www.cnblogs.com/jdy1022/p/15902698.html
Copyright © 2020-2023  润新知