简述
在单个组件中封装域对象和关系数据之间的映射。对象/关系映射同时把应用程序代码和域对象从底层的数据模型和数据访问细节中分离出来。
适用性
需要向应用程序逻辑和域对象隐藏物理数据模式和数据访问的复杂性。
需要在单个组件中封装域对象映射,以便在数据模型发生变化时可以不修改应用程序代码或者域对象定义。
需要从域对象映射到多种数据模型而不修改应用程序代码或域对象定义的通用性。
权衡
依赖于另外的商品化产品
优点
清晰的应用程序代码
映射到可替换的数据模型
缺点
限制了应用程序对数据访问的控制