zoukankan      html  css  js  c++  java
  • java的VO和PO的用途

    最近在搞一个项目,用到了 springMVC,加深了我对VO和PO的理解,有感而发。

    1 写在之前的提示

    VO == Value Object

    PO == Persistant Object

    VO对应页面,PO对应实体/关系型映射

    2 在你的程序中,如果没有VO,那么说明你的程序很可能不是以面向对象的思想来设计的,或者说你把PO同时当成了VO使。

    实体:

         Order {

         id

         createDate

      }

    当我页面上需要对订单进行创建时间过滤时,有两种方式,一种方式是非面向对象的设计,另一种是在PO中加入 createDateStart、createDateClose,即

      Order {

         id

         createDate

         createDateStart

         createDateClose

      }

    这个时候就是Order 即使PO也是VO

    为什么不用更优雅的设计

      OrderValueObject {

         id

         createDateStart

         createDateClose

      }

      

      OrderPersistenceObject {

         id

         createDate

      }

    不是更清晰、更优雅吗?什么?代码量很高?哦,朋友,你不知道有代码生成器这回事儿吗?

  • 相关阅读:
    第03组 Alpha冲刺(3/6)
    第03组 Alpha冲刺(2/6)
    第03组 Alpha冲刺(1/6)
    团队项目-选题报告
    第3组 团队展示
    福大软工 · BETA 版冲刺前准备(团队)
    Alpha 事后诸葛亮
    Alpha冲刺
    Alpha冲刺-(9/10)
    Alpha冲刺
  • 原文地址:https://www.cnblogs.com/MorZe/p/4504595.html
Copyright © 2011-2022 走看看