L
lsj
Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库操作中最常见的就是发送一个SQL检索出所需的数据,一般传送到客户端的是原始数
据,而不是对象,所以在没有面向对象数据库支持下,我们必须自己建立一层O/R Map,将关系
数据库中的取得的大量数据转换成对象,暂且不论这个O/R Map如何建立,很可能一次就要创
建数千个(甚至更多)对象,客户端连上来的数量一多,每个都查询不同性质的数据,这样就无
法使用缓冲了,这样反复的创建对象,会对服务器造成很大的负担.而存储过程和预定义SQL
我以前用delphi的时侯做过,取来数据后,客户端还得对数据再加工抽出有用的信息,也就是
客户端得了解数据结构,不可避免地将界面和逻辑混在一起了.
总而言之,就是数据->对象的转换这一环节应找到一个合适的解决办法,否则一一映射转换带
来性能问题(我估计是性能上的问题主要是由创建对象过程及垃圾回收机制引起,对象本身所
引起的内存消耗与原始数据相比应该差不多),不转换就破坏了封装的完整性,也失去了OO的
最大优点.
请大家指正~~
据,而不是对象,所以在没有面向对象数据库支持下,我们必须自己建立一层O/R Map,将关系
数据库中的取得的大量数据转换成对象,暂且不论这个O/R Map如何建立,很可能一次就要创
建数千个(甚至更多)对象,客户端连上来的数量一多,每个都查询不同性质的数据,这样就无
法使用缓冲了,这样反复的创建对象,会对服务器造成很大的负担.而存储过程和预定义SQL
我以前用delphi的时侯做过,取来数据后,客户端还得对数据再加工抽出有用的信息,也就是
客户端得了解数据结构,不可避免地将界面和逻辑混在一起了.
总而言之,就是数据->对象的转换这一环节应找到一个合适的解决办法,否则一一映射转换带
来性能问题(我估计是性能上的问题主要是由创建对象过程及垃圾回收机制引起,对象本身所
引起的内存消耗与原始数据相比应该差不多),不转换就破坏了封装的完整性,也失去了OO的
最大优点.
请大家指正~~