关于value object

         
SunOne 03-07-27

哪位大哥能给我具体讲讲啊
以及它与session facade的区别

5
Fish
2003-07-28 16:13

value object,我们叫值对象,是持久性框架中很重要的一个概念。简单的VO对象可以映射为数据库中的一条记录。复杂的可以映射为具有复杂关系的数据库中的记录。VO的出现主要解决网络传输问题。通常的在客户端添加一笔记录时,会频繁的调用set方法在网络间传递数据,而值对象允许你一次将数据添充到一个VO里,然后在系统的各层次间以VO进行数据的传送。系统层与层间的数据交换都通过VO来完成,能大大减少网络的开支。

持久性框架中另一个重要的方面是DAO(Data Access Object),通常它与VO的关系比较紧密,DAO负责抽象数据库操作,为上层提供操作数据库的单一形式,而不管数据库具体是什么(Oracle,sybase,db2..等)。因为具体的数据在某些实现方法上略有不同,比如在自增流水号上面,Oracle有序列生成,而Sybase,Sql Server等都有自增列来完成。这样就造成了数据库不同间的移植问题。DAO正好解决这个问题,抽象数据库具体操作,向上提供统一处理方法。将数据库的结构映射为JAVA的对象。

对于上面提到的自增流水号的问题,可能有人会问是怎么解决的。在这里有一个叫做“主键生成器”的模式可以直接应用。其实就是自已做一个主键生成系统来代替数据库提供主键生成机制

Fish
2003-07-28 16:14

value object,我们叫值对象,是持久性框架中很重要的一个概念。简单的VO对象可以映射为数据库中的一条记录。复杂的可以映射为具有复杂关系的数据库中的记录。VO的出现主要解决网络传输问题。通常的在客户端添加一笔记录时,会频繁的调用set方法在网络间传递数据,而值对象允许你一次将数据添充到一个VO里,然后在系统的各层次间以VO进行数据的传送。系统层与层间的数据交换都通过VO来完成,能大大减少网络的开支。

持久性框架中另一个重要的方面是DAO(Data Access Object),通常它与VO的关系比较紧密,DAO负责抽象数据库操作,为上层提供操作数据库的单一形式,而不管数据库具体是什么(Oracle,sybase,db2..等)。因为具体的数据在某些实现方法上略有不同,比如在自增流水号上面,Oracle有序列生成,而Sybase,Sql Server等都有自增列来完成。这样就造成了数据库不同间的移植问题。DAO正好解决这个问题,抽象数据库具体操作,向上提供统一处理方法。将数据库的结构映射为JAVA的对象。

对于上面提到的自增流水号的问题,可能有人会问是怎么解决的。在这里有一个叫做“主键生成器”的模式可以直接应用。其实就是自已做一个主键生成系统来代替数据库提供主键生成机制

不知道说这些对你有用吗?

SunOne
2003-07-29 09:16

说得很详细,谢谢呀

Fish
2003-07-29 15:56

不客气,欢迎讨论一下

2Go 1 2 下一页