着种中间层称之为商业层。并非是正对每一个进行A(dd)D(elete)E(dit)。而是使用两层数据访问部件做到的。
1:数据访问层:这一层负责了对数据库的连接,包括内置了连接字串,GetRsBySQL,RunSQL,RunProc之类的比较低层的数据库操作。
2:商业层:这一层通过调用(1)来把商业规则封装起来。有时候做一个操作要涉及到许多表,而且商业规则经常变化。这个时候只要修改商业层就可以解决问题。
多层式的开发主要是把商业层和client分开,如果仅仅把数据库操作和client分开意义不大,如果商业规则发生变动所有的客户端程序都要升级,这就失去了多层的意义。
1:数据访问层:这一层负责了对数据库的连接,包括内置了连接字串,GetRsBySQL,RunSQL,RunProc之类的比较低层的数据库操作。
2:商业层:这一层通过调用(1)来把商业规则封装起来。有时候做一个操作要涉及到许多表,而且商业规则经常变化。这个时候只要修改商业层就可以解决问题。
多层式的开发主要是把商业层和client分开,如果仅仅把数据库操作和client分开意义不大,如果商业规则发生变动所有的客户端程序都要升级,这就失去了多层的意义。
解决方案 »
- DataGrid1_KeyPress困扰了N长时间没解决~达人帮忙,高分送上
- 内个啥,拉个票哈
- Line方法是怎么实现的?
- vb 下面进行 TCP/IP 通讯的开发,是不是只能用 winsock 控件?
- 使用水晶报表9.2的程序发布时,总提示unicows.dll没有安装
- 字符可以转控件名吗?一个难题100
- 怎样修改grdDataGrid所在的记录集中的字段内容? 有答案即结帖!!!
- 请问为何不能编辑datagrid控件网格的内容啊,谢谢(100分)
- 不用api,如何实现mouse 在button 上移动,移出,点机时button的图标变化
- ADO连接问题
- VB中只用API来开发一个程序可能吗?
- 如何判断MSHFLEXGRID的滚动条是往上移动还是往下移动
数据对象是按对象方式对数据进行组织。数据表是因为现在数据库系统的局限性(二维表)而无法实现面向对象,一张数据表在很多情况下无法完整地表达一个数据对象的所有属性。
可能某数据对象的属性又对应于另一张数据表。数据对象划分的目的是为了封装,也是为了可重用。考虑数据对象的划分应主要从几个方面考虑:
独立性:各数据对象包含的属性是否已准确完整地描述一个数据对象。
偶合度:如果对数据对象的操作并无独立性,即操作对象A则必操作对象B,不单独存在针对数据对象A的重用性,则可把二对象合为一。
复杂度:可分可合的数据对象则考虑其复杂度,分开有利于降低各对象难度,程序员比较容易集中精力解决主要问题。
http://www.csdn.net/expert/Topic/62009.shtm
首先应该从应用的角度根据对象思路来分析系统中需要涉及的数据对象,再根据数据对象来设计数据表结构。所以我不会有你上面的烦恼。:-)
商业层内部也是有划分的,包括基本的部件对象和基于这些部件所建立起的商业逻辑对象。
你可以去学习一下UML,对于以后的编程会有帮助的。
不同意july的看法,通过ActiveX技术VB支持多线程,多进程。幸亏你没跳河。
应当是我没有讲的明白.在COM+ service中,有线程和单元两个概念,其中单元的概念是这样的:一个单元是一个同步机制和COM对象的逻辑容器(container),从而提供一条线程的执行,能在一个进程中调用一个对象的方法.而COM_定义三种单元类型:
单线程单元(Single-threaded Apartment)
多线程单元(Multi-threaded Apartment)
中立线程单元(Neutral-threaded Apartment)而VB目前仅仅支持单线程单元(Single-threaded Apartment),我没有用过VB7!
同时VB应当已经对编程人员隐藏了线程的概念,如果老兄对这样很了解,请不吝赐教
应当是我没有讲的明白.在COM+ service中,有线程和单元两个概念,其中单元的概念是这样的:一个单元是一个同步机制和COM对象的逻辑容器(container),从而提供一条线程的执行,能在一个进程中调用一个对象的方法.而COM_定义三种单元类型:
单线程单元(Single-threaded Apartment)
多线程单元(Multi-threaded Apartment)
中立线程单元(Neutral-threaded Apartment)而VB目前仅仅支持单线程单元(Single-threaded Apartment),我没有用过VB7!
同时VB应当已经对编程人员隐藏了线程的概念,如果老兄对这样很了解,请不吝赐教
你可以用这种方法来解决你上面的问题:
首先建立一个ActiveX控件,在这个控件中实现AddRecord、DeleteRecord、EditRecord、GetRecord方法,并且每一个方法都带一个标志参数,在这些方法中写上对表操作的共同部分,然后根据标志,利用withevents来产生相应的事件,然后再建一个ActiveX Dll ,将控件包一层,在这个动态连接库实现具体的操作(在事件中实现具体的操作),并且也可以注册到MTS(COM+)中,然后应用于WEB中,应该没有问题
希望对你能有所帮助
我自己开发了一套服务器部件连接缓冲系统,使用缓冲算法插件来实现缓冲算法的动态升级。不过目前我正在准备向COM+转移,如果COM+对VB支持不好我会考虑自己写其中的一部分。
给大家介绍一下你的系统构成,OK?
通用表的增加删除可以写几个AddRecord、DeleteRecord、EditRecord、GetRecord
按照一种既定的规则来存取
而具体的业务接口需要根据具体的需求来定制
一个表一个数据对象? 头一次听说
希望我们可以保持经常的交流,我也正在准备做您 现在做的 动动,也是因此才知道vb的缺陷的
Inside COM+ Base Services组件编程技术内幕。其中对COM+做了十分
详细的说明,带范例,包括Vc++和VB和Java。另外好像kenken将的是
实现基于Web的系统,现在大家好像只在讨论线程。
各位大虾,请讲讲这方面的经验
你说的那本书我这段时间正在看。