发信人: rampig(与时俱进)
整理人: zjxyz(2003-04-08 09:20:08), 站内信件
|
就语义来说,
1 用ResultSet 作为返回结果,
表示封装了数据库链接,查询操作;
调用者取结果时,要涉及到ResultSet的特性(如取数据的时间和操作的异常等);具体参考ResultSet接口.
不知道数据有多少。
数据要多次ResultSet.next()得到;
2 用一般的集合(如Collection)作为返回结果,则
封装了数据库链接,查询,结果转化成一般的数据集合;
调用者可不必关心和注意了解ResultSet等等特性。不需要特别catch异常;
可以知道数据的总量。
数据一次得到(对调用者而言),可能导致出现处理峰值。
1基本上是步骤方法的封装,2是对方法和数据的封装与抽象。
使用1的代码,基本上数据源就定义为ResultSet,比较难修改,调整。
使用2的代码,只要调整数据封装的具体实现(譬如从数据库改为socket),调用的代码无需修改(因为已经作了数据抽象)。
1最好是在模块内使用,固化封装一些步骤。
2最好在不同模块(语义上不同)之间的数据交换,操作callback时抽象化一些与具体实现相关太密切的方法与数据,以便扩充与维护。
【 在 pguard 的大作中提到:】
:【 在 zjxyz 的大作中提到:】
::【 在 pguard 的大作中提到:】
:::能否解释一下这个概念,谢!!
:::我通常都只是用返回ResultSet的
:::......
:
:......
|
|