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

在研究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条记录),这样我们在修改/增加记录时,同时修改该数组。这样我们在刷新显示数据时,只需显示数组的相应记录即可。而保存时,调用上面的写数据函数即可完成。
    这样做的好处是,不管怎样修改记录,我们只需执行一次数据读取函数,即使数据更新,也简单的从数组中选取相关的记录即可。
    采用这种严格分层的编程方式,编程思路相对简单,代码的重用性非常高。对于团队合作并行设计的编程思路,是一个行之有效的方法。
    简单探讨,欢迎有类似设计思路的朋友批评和讨论。

时间: 2024-12-25 23:33:05

三层结构和印度模式的讨论的相关文章

PHP三层结构(下) PHP实现AOP第1/2页_php技巧

本文源码下载地址:http://xiazai.jb51.net/201007/yuanma/TraceLWord.rar 开发环境为 eclipse(pdt) 让我们把注意力集中到中间服务层上来.中间服务层代码比较简单,只是调用数据访问层代码将留言保存到数据库.如代码1所示: 复制代码 代码如下: // 代码 1 // 中间服务层 class LWordServiceCore implements ILWordService { // 添加留言 public function append($n

java中的mvc和三层结构究竟是什么关系

一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手头上做过的正式项目也有了四五六七个了,不管用的数据库和其他一些细节上的技术如何,总的来说大的框架结构都是差不多的. 说白了,也就是mvc和三层结构. 而mvc和三层结构究竟是什么关系,我曾在面试的过程中被人问过几次,也曾仔细的想过.查过这个问题,但是直到此时,我也还是不能完全确定. 只不过随着时间的积累,随着技术的沉淀,随着视野的拓宽,我大体上认同了

建立三层结构的ASP应用程序

程序 本文介绍了三层结构应用程序的概念和优点,并结合一个实例介绍了如何建立三层结构的ASP应用程序. 一.两层结构的ASP应用有何缺点 在Browser/Server 应用程序开发领域,微软公司的IIS/ASP以其强大的功能,良好的扩展能力,及与其它微软产品的一致性,迅速地流行起来.它能使一个具有VB/VC经验的程序员,很快地成为一个Web程序员,开发出看上去非常专业的应用.但是,ASP有一个天生的缺点,就是ASP代码和HTML代码是混在一起的,ASP程序员既需要考虑与数据库打交道,需要关心如何

怎么在用asp.net开发过程中体现三层结构·

问题描述 可以简单理解成:在设计那儿拖控件,如何在控件事件处写·方法·吗? 解决方案 解决方案二:拖控件,事件处写方法还能叫三层结构啊?还是先去看看什么是三层结构吧解决方案三:所谓三层结构,就是有"业务逻辑层"的结构.只要是有一个业务逻辑层来屏蔽掉数据库的结构,就是三层结构.你开发程序时,使用你的开发工具提供的"中间层"--数据绑定控件,或者使用你的开发框架提供的数据中间件--远程数据服务,这些都是三层的提现.在开发asp.net程序的过程中,虽然调用数据服务的接口

.net三层结构初探分析第1/4页_实用技巧

对于学习,我选择了ACCESS数据库+存储过程的方式,这里记录的是我个人的学习体会和笔记,与网上的可能有不同之处,观点也不可能全部相同.为什么使用三层结构: 首先要明确,三层结构并不能使系统变快,实际上它会比起"单类结构"慢.但越来越多人使用三层结构开发,为啥呢?我在使用中,发现三层结构十分清晰,一个类,一个文件你该放在哪层就放哪层,不会象单类结构那样全部放到App_Data中,造成结构混乱.当然,使用三层结构的原因肯定不是那么肤浅,它对团队开发,系统可维护性有十分重要的意义. 三层结

基于三层结构煤矿信息化系统研究

煤矿要将大量的煤炭和矸石从地层深处挖掘运输到地面,不仅要使用大量的机械设备,而且煤矿生产还要面对复杂的地质条件.地层压力.瓦斯.一氧化碳.自燃.地下水及煤尘等产生的影响.因此,煤矿生产过程不仅涉及到人与设备和工艺流程的关系,而且还涉及到自然条件的影响.运用自动化技术.计算机技术和微电子技术等高新技术改造传统的煤炭工业,即实现企业信息化,对煤矿生产中的各个生产与保障环节的主要参数进行各种各样的监测与控制,以及对煤矿地理信息.安全信息进行监测,是煤矿正常.安全生产的重要保障. 1 基于三层构架的煤矿

AutoThrCode 三层结构业务层代码自动生成工具

请看下面示例:数据表结构如下: 生成的 属性成员 和 添加,更新的代码: 'AutoThrCode自动生成三层结构业务逻辑层代码'IsDotNet 版权所有'作者:梦虫'Msn:IsDotNet@MsN.CoM'Http://www.IsDotNet.com'本代码引用 IsDotNet.Data.SqlDbHelper 类,请将 AdoHelper.dll 拷贝到WEB程序的BIN目录下'请在WEB程序的web.config文件的节配置数据库连接字符串,"ConnectionString&qu

什么是ASP.NET中三层结构

asp.net|三层结构 一.三层体系架构 1.表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式.如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务. 2.业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理.如果说数据层是积木,那逻辑层就是对这些积木的搭建. 3.数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,

三层结构

"三层结构"是"外观层"."商业逻辑层"."数据库层" 假设以这样的结构制作一个留言板,那么应该是:     # 留言板页面的外观代码都存放在 .aspx 文件中     # 当用户点击页面上的提交按钮时,先将文本信息传递给一个 LeaveWord 类对象     (LeaveWord 类的定义被封装到"商业逻辑层")     # 之后让这个对象执行 Post() 将留言信息发送到数据库 用一个简单的代码就