打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
企业应用架构模式之对象

        对象-关系元数据映射模式是用来描述数据库中域是如何对应到内存对象中的域的,它包括元数据映射、查询对象、资源库三种模式。

元数据映射:在元数据中保持对象-关系映射的详细信息

该模式最主要的决策是如何根据运行代码来表示元数据中的信息。解决方案有两种方法:代码生成和反射编程。

代码生成方法需要写一个程序,输入的是元数据,输出是映射实现类的源代码,这些类是在在编译前的构建流程生成的。产生的映射器类用服务器代码来部署,不需要保存到源代码控制中。

反射程序可能要求对象有一个名为setName的方法,然后通过传递适当的参数,在setName方法中运行一个调用方法。通过吧方法和域视为数据,反射程序可以从元数据文件中读入域和方法的名字,并用它们实现映射。反射的不足是比较慢,且往往会产生很难调试的代码,但它在数据库映射

该数据的另一个主要决策是:让元数据保持多大程度的复杂性。


查询对象:描述一次数据库查询的对象

    查询对象是一个解释器,由多个对象组成的机构,该结构可以自身转化为一个SQL查询。可以通过引用类和域来创建这个查询,编写查询的人就能够设计独立于数据库方案的查询、且数据库方案的变化可以封装在局部。

    查询对象的一个共同特征是,它能够用内存对象的语言而不是用数据库方案来描述查询。查询对象的优点带来了更高级的需求:保存数据库方案的封装性,支持多数据库,支持多模式,以及进行优化来避免多次查询。


资源库:协调领域和数据映射层,利用类似于集合的接口来访问领域对象

    资源库协调领域和数据库映射层,起到类似内存中领域对象集合的作用。客户对象以陈述的方式构建查询说明,并把它们提交给资源库以获取满足条件的对象。可以向资源库中增加对象,也可以从资源库中删除对象,就像这些对象来自一个简单的对象集合,并且由资源库封装的映射代码将根据实际情形执行相应的操作。资源库封装了保存在数据存储中的兑现集以及在这些对象上执行的操作,提供一个更加符合面向对象观点的持久层实现。资源库也支持资料与和数据映射层之间实现彻底分离和单向依赖关系的目标。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
“逃离”单体,GitHub的微服务架构实践
软件架构设计系列总结
我们实现了一直的梦想-像搭积木一样生产软件
如何开发可处理百万条数据的看板?
如何在ASP.NET中使用三层架构
三种常见的Java应用性能挑战
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服