1.背景
在做SOA项目时,很纠结于VO的混乱,项目中VO又作为给Client的output,又作为Service层与DAO层之间传输的对象,甚至更恐怖的是作为插入,更新DB的对象,无语。。。
2.思考结论
思考了下,觉得对象应该分下层,分下工,于是有了下图。
简单解释一下,对象分为两层,负责在每层之间进行对象传输
1)PO:DAO插入或更新DB用到的对象叫PO,特征是字段与表字段一一对应,当然可视情况增加额外的字段(有些同学喜欢叫model,entity,anyway,名称而已,最重要是在团队中有共同认识即可)
2)VO:DAO与Service之间,Service与Controller或Client(如果是SOA)之间传输的对象,字段视业务需要而定。