DMM
(
Direct Model Mapping
,直接模型映射
)是一种新的对象持久化模式,它吸纳了
AOA
架构的核心理念,简化了域模型
(Domain Model)
到持久存储的映射过程,不但能实现域模型到关系数据库的映射,还能实现域模型到文件或面向对象数据库的映射。
跟ORM (Object-Relation Mapping,对象-关系映射)一样,DMM也是一种对象持久化机制,不过两者的区别也是很明显的。ORM是域模型到关系数据库的映射,目前在java 平台上主要有两种实现策略:一是Annotation,二是XML配置文件,ORM是依靠映射媒介的,这虽然给不同技术层面的分工带来了一定的便利,但大大增加了工作量,以前通用的映射媒介是XML配置文件,但由于XML带入的新的复杂性,EJB3引入了新的映射媒介Annotation,通过在类文件代码中加入注解的方法以减化映射的复杂性,这对于程序员来说显然是一个好消息,终于可以不用维护难以阅读的XML文件了,不过实际上程序员的工作量并没有减少。DMM的出现改变了这一状况,它采用域模型到持久存储的直接映射,取消了映射媒介,虽然牺牲了一定的灵活性,但是有效地降低了工作量。
随着SOA的流行,企业应用被推荐以一组松散耦合的服务的形式进行构建,传统的从数据模型到业务逻辑再到用户界面的逐层构建的方法不再被架构师看好,AOA 技术应运而生,其核心理念是以应用为中心进行跨技术层面的应用构建,实际上是对各技术层面进行充分解耦后的再次聚合。DMM就是依托AOA技术对持久层的传统设计进行简化后形成的全新的对象持久化策略,它为框架开发者提供了便利,使得实现通用的域模型对象成为可能,应用程序开发者可以利用实现DMM模式的框架围绕持久存储的数据模型进行以应用为中心的应用程序的开发。