1、目标
1)、使用模板方法、状态模式、命令模式来设计部分框架 2)、介绍对象-关系(O-R)映射中的一些问题 3)、使用虚代理实现的滞后具体化
2、关键思想
1)、映射(Mapping)
类--表 类中属性---表中字段 使用模式映射(schema mapping)将对象和表建立关联
2)、对象标识(object identity)
为了方便将记录与对象联系起来,确保没有重复,记录和对象必须有唯一的对象标识。
3)、数据库映射器(database mapper)
负责具体化和虚化的纯虚构数据库映射器。
4)、具体化和虚化(materialization and dematerialization)
具体化:表记录--->对象
虚化(钝化):对象--->表记录
5)、缓存(cache)
持久性服务微提高性能缓存具体化后的对象
6)、对象的事务状态(transaction state of object)
就对象与当前事务而言,了解对象状态是有用的。例如,了解哪些对象已经被修改以便决定是否需要将他们存入数据库中。
7)、事务操作(transaction operation)
提交和回滚操作
8)、滞后具体化(lazy meterialization)
并非一开始就具体化所有对象,只有当需要时才具体化特定实例。
9)、虚代理(virtual proxy)
滞后具体化可通过使用称为虚代理的智能引用(smart reference)来实现。