3.5 细粒度的对象模型

本文探讨了细粒度对象模型在提高代码内聚力、重用性和易读性方面的作用,并通过具体例子展示了如何利用Hibernate支持这类模型,进而实现类型安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate的一个主要目标就是支持细粒度的对象模型,细粒度的对象模型也是一个业务模型的一个最重要的需求。这就是我们选择POJOs的原因之一。

从字面上理解,细粒度就意味着比数据库表更多的类。例如,一个用户可能需要一个账单地址和一个家庭地址。在数据库中,我们可能拥有一个USER表,它包括数据列BILLING_STREET,BILLING_CITY,BILLING_ZIPCODE,HOME_STREET,HOME_CITY,HOME_ZIPCODE。

在我们的对象模型中,我们可能使用相同的方法,在User类中使用六个属性来表示两个地址。不过我们也可以单独使用Adress类,这样就可以在User类中只声明两个属性:billingAddress和homeAddress。

这种对象模型改进了内聚力,提高了代码重用性和易读性。在过去,许多ORM解决防范并不支持这种类型的映射。

Hibernate强调细粒度的对象模型对于实现类型安全的重要性。例如,许多人会把地址作为User类的一个字符串类型的属性。我们建议使用EmailAddress类来代替这种做法,因为它提供了更好的语义,而且能够添加新的行为。例如,它可以提供sendEmail()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值