您的位置:首页 > 其它

3.5 细粒度的对象模型

2010-03-22 20:52 92 查看
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()方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: