发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

值对象到底有什么作用?

2009-03-27 16:59
赞助商链接

在阅读DDD过程中出现几个疑问:
1.值对象到底有什么作用?为什么不把它的值直接设置成为实体的属性呢?
2.值对象在数据库映射的时候该怎么处理?当成实体表中的字段?还是单独一张表呢?

望各们帮我解答下!

2009-03-30 15:38

怎么都没人回答的?是不是问题太简单了?

2009-04-19 13:31

建议看看VO,PO,POJO,DAO等的区别。
VO就是你说的值对象,主要用于业务层保存数据用的。PO主要是持久层用的。PO对象对应数据库数据表中的一条记录,与数据库数据的状态是同步的。PO只是数据需要持久化到持久化设备中的时候才用的。一般来说,我们在保存数据时,先将VO转换成PO。楼主可以在网上搜索下相关资料。

2009-04-20 21:17

值对象主要是将其做为值(值具有不变性)来考虑,也就是说是对象的说明补充物。
从思考的角度来讲,区分值对象有助我们把握领域的核心,实体才具有和别的实体通信的能力,值对象便不具有,也就是中值对象降低了对象之间的关联.

从设计的角度来讲,值对象是不变的,不变意味着不需要同步,当系统变大时,也就是说当系统变成分布式系统时,值对象对提升性能很有帮助.将分布式对象同步是比较费力的一件事.

spikeme所言的VO与DDD所讲的VO不是同一件东西。他所说的VO是指:当我们需要把领域对象暴露给表现层时,将所要呈现的数据从领域的几个对象中抽取出来,然后封装成对象传递给表现层.

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com