首页 > 开发 > 综合 > 正文

三层结构和印度模式的讨论

2024-07-21 02:28:08
字体:
来源:转载
供稿:网友
在研究webservices的时候,调用webservices并不用直接与数据库打交道。在传统的c/s应用程序中,完全可以采用这种业务分层方式。对数据表的访问,一般都是一维和二维结构,这样,我们可以构建高可重用的数据库读写模块。例如:
function readdata(tablename as string,sqlstring as string) as object
...
end function
    这个函数以数组的形式返回一维或二维的记录集,其中一维数组表示一条记录,二维数组返回n条记录。sqlstring为查询条件。
function writedata(tablename as string,recarray as object) as boolean
...
rs.open "select * from 主键=recarray(n)",...
if rs.eof then
    rs.addnew    '若记录不存在,添加新记录
else
    for i=0 to rs.field.count-1
        rs.field(i).value=recarray(i)
    next
end if
rs.update
...
end function
    这里以添加一条记录为例,数组长度=字段数。若记录存在则更新,否则则添加新记录。
    有文章说印度人喜欢使用大数组,其实是很有效率的。我们在数据查询/修改模块里建立一个全局数组。在form_load事件中将记录读取到数组中(一维数组记录一条记录,二维数组记录n条记录),这样我们在修改/增加记录时,同时修改该数组。这样我们在刷新显示数据时,只需显示数组的相应记录即可。而保存时,调用上面的写数据函数即可完成。
    这样做的好处是,不管怎样修改记录,我们只需执行一次数据读取函数,即使数据更新,也简单的从数组中选取相关的记录即可。
    采用这种严格分层的编程方式,编程思路相对简单,代码的重用性非常高。对于团队合作并行设计的编程思路,是一个行之有效的方法。
    简单探讨,欢迎有类似设计思路的朋友批评和讨论。


  • 网站运营seo文章大全
  • 提供全面的站长运营经验及seo技术!
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表