PO VO 之争

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

本周的技术研讨会上,部门的同事就PO和VO的使用提出了不同意见,和hibernate中文网站的争论一样,形成了两派意见,一派是PO可以用在商业逻辑层,当作VO使用,一派是不同意这种看法,认为PO用在商业逻辑层不合适,我就是这一派的支持者。

在会上我说了自己的观点和理由:

PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。如果将PO用在各个层中就相当于我们使用全局变量,我们知道在OO设计非常不赞成使用全局变量。

当然我们在实际项目中有时候会在某个商业逻辑或者表示层使用PO,我觉得只有当下列条件满足的时候,这样做是可以允许的:

那就是在这个商业逻辑的过程中PO的状态是不发生变化的,比如显示一条商品详细信息的商业逻辑。

总结:

不管是对类的设计还是系统的设计,原则都是一致的:类、系统的各个部分功能要独立简单,封装性好,逻辑和数据都要保持独立。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航