持久层的概要设计
首先:构建一个持久层是非常困难的,不要尝试一个人去完成!
表:高层设计中的类及其描述(注意:其中只有PersistentObject,PersistentCriteria及其子类,PersistentTransaction和Cursor类直接被被应用程序直接访问。)
类 | 描述 |
ClassMap | 一组类,封装了将类映射到关系数据库的行为。 |
Cursor | 这个类封装了数据库中游标的概念。 |
PersistenceBroker | 维护到诸如数据库或者文本文件等持久机制的连接,并且处理对象应用程序与持久机制之间的通信。 |
PersistenceCriteria | 这个类层次封装了根据指定条件进行获取、更新、删除等所需的行为。 |
PersistenceMechanism | 一个封装了对文本文件、关系数据库、对象数据库等的访问方法的类层次。对关系数据库,这个树封装了复杂的类库,例如:Microsoft的ODBC或者Java的JDBC,这样可以保护你的组织不受这些类库改变的困扰。 |
PersistentObject | 这个类封装了使单个实例持久化的行为,所有需要持久化的业务对象都从这里派生出来。 |
PersistentTrancaction | 这个类封装了支持持久机制的简单以及嵌套事务所需的行为。 |
SqlStatement | 这个类层次知道如何根据ClassMap对象构造 insert,update,delete和select语句。 |
图:持久层类层次结构(我用Visio画出,转到JPG的)