po什么意思 po什么意思

po什么意思呢 , 就是你的朋友圈被屏蔽了 。这个时候你可以选择删除好友 , 然后重新拉回来 。如果你不想被屏蔽 , 那就不要发这样的朋友圈了 。因为一旦旦被屏蔽 , 你就没有机会再加回来了 。所以 , 你要学会保护自己的隐私 , 不要随便发一些不好的东西 。否则 , 你的朋友圈就会被屏蔽了 。当然 ,  , 如果你是一个比较有原则的人 , 那么你可以选择关闭朋友圈 , 这样也不会影响你的生活 。

  • 概念:
  • 模型:
  • VO与DTO的区别
  • VO与DTO的应用
  • DTO与DO的区别
  • DTO与DO的应用
  • DO与PO的区别
  • DO与PO的应用
本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO 。
由于不同的项目和开发人员有不同的命名习惯 , 这里我首先对上述的概念进行一个简单描述 , 名字只是个标识 , 我们重点关注其概念:
概念:
  • VO(View Object):视图对象 , 用于展示层 , 它的作用是把某个指定页面(或组件)的所有数据封装起来 。
  • DTO(Data Transfer Object):数据传输对象 , 这个概念来源于J2EE的设计模式 , 原来的目的是为了EJB的分布式应用提供粗粒度的数据实体 , 以减少分布式调用的次数 , 从而提高分布式调用的性能和降低网络负载 , 但在这里 , 我泛指用于展示层与服务层之间的数据传输对象 。
  • DO(Domain Object):领域对象 , 就是从现实世界中抽象出来的有形或无形的业务实体 。
  • PO(Persistent Object):持久化对象 , 它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系 , 如果持久层是关系型数据库 , 那么 , 数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性 。
模型:下面以一个时序图建立简单模型来描述上述对象在三层架构应用中的位置
po什么意思 po什么意思

文章插图
  • 用户发出请求(可能是填写表单) , 表单的数据在展示层被匹配为VO 。
  • 展示层把VO转换为服务层对应 *** 所要求的DTO , 传送给服务层
  • 服务层首先根据DTO的数据构造(或重建)一个DO , 调用DO的业务 *** 完成具体业务 。
  • 服务层把DO转换为持久层对应的PO(可以使用ORM工具 , 也可以不用) , 调用持久层的持久化 ***  , 把PO传递给它 , 完成持久化操作 。
  • 对于一个逆向操作 , 如读取数据 , 也是用类似的方式转换和传递 , 略 。
VO与DTO的区别大家可能会有个疑问(在笔者参与的项目中 , 很多程序员也有相同的疑惑):既然DTO是展示层与服务层之间传递数据的对象 , 为什么还需要一个VO呢?
对!对于绝大部分的应用场景来说 , DTO和VO的属性值基本是一致的 , 而且他们通常都是POJO , 因此没必要多此一举
但不要忘记这是实现层面的思维 , 对于设计层面来说 , 概念上还是应该存在VO和DTO , 因为两者有着本质的区别
DTO代表服务层需要接收的数据和返回的数据 , 而VO代表展示层需要显示的数据 。
用一个例子来说明可能会比较容易理解:例如服务层有一个getUser的 *** 返回一个系统用户 , 其中有一个属性是gender(性别)

推荐阅读