设计模式-嵌入值(Embedded Value)

概念

让一个对象映射成另一个对象表的若干字段。 

许多小对象在OO系统中有意义,但作为表却在数据库中没有意义。比如金钱对象和日期范围对象,所以嵌入值把一个对象的值映射成该对象的所有者记录中的字段,把这些小对象的域映射成所有者表中的域总比建立新记录要好。

运行机制

当所有者对象被加载或保存时,依赖者对象也同时被加载或保存。依赖者类没有自己的持久化方法。所有的持久化工作都由所有者完成。

使用时机

  • 明显、简单的值对象,如金钱和日期范围。
  • 要权衡类似订单和发货对象这样的引用对象,如果仅当加载订单时才加载发货数据,则可以使用嵌入值。
  • 已有的数据库方案中如果一个表包含某种数据时,而这些数据可以分成内存中多个对象时,可以使用嵌入值,
  • 所有者和依赖者之间的关联在两端都是单值的时候,使用嵌入值;或者由多个候选依赖者并且他们的数字小而固定的情况,使用嵌入值。
  • 嵌入值只能用于相当简单的依赖者上。
     

依赖映射示例-唱片和曲目(java

Step1 :建立产品提供类

Step2 :加载方法的处理

Step3 :更新

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值