请问何谓三层数据库?

jiangjian0427 2003-10-09 09:52:20
谢谢!!
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯狂低调 2003-10-15
  • 打赏
  • 举报
回复
感谢,小弟也是看过了上面的帖子之后才对三层有了准确地认识。
收藏
icemanpro 2003-10-09
  • 打赏
  • 举报
回复
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。

这样的好处显而易见:

1、 由于数据访问是通过中间层进行的,因此客户端不再与数据库直接建立数据连接。也就是说,建立在数据库服务器上的连接数量将大大减少。例如一个500个客户端的应用系统,500个客户端分别与中间层服务器建立DCOM连接,而DCOM通讯所占用的系统资源极为有限,并且是动态建立与释放连接,因此客户端数量将不再受到限制。同时,中间层与数据库服务器之间的数据连接通过“连接池”进行连接数量的控制,动态分配与释放数据连接,因此数据连接的数量将远远小于客户端数量。

2、 可维护性得以提高。因为业务规则、合法性校验存在于中间层,因此当业务规则发生改变时,只需更改中间层服务器上的某个组件(如某个DLL文件),而客户端应用程序不需做任何处理,有些时候,甚至不必修改中间层组件,只需要修改数据库中的某个存储过程就可以了。

3、 良好的可重用性。同样,如果需要开发B/S应用,则不必要重新进行数据访问、业务规则等的开发,可以直接在WEB服务器端调用现有的中间层(如可以采用基于IIS的WebClass开发,或直接编写ASP代码)。

4、 事务处理更加灵活,可以在数据库端、组件层、MTS(或COM+)管理器中进行事务处理。

icemanpro 2003-10-09
  • 打赏
  • 举报
回复
三层数据库与应用程序服务器的澄清事实

应用程序服务器主要解决两个问题
一客户/服务器模式中:数据库服务器负责连接问题(项羽兄遇到了)
二网站要动态地更新数据及数据库要上互联网连接问题
还有其他方面的应用不说了。
第一模式应用环境主要是局域网中:客户程序+应用程序服务器+数据库
第二模式应用在互联网中:浏览器+WEB服务器+应用程序服务器+数据库
局域网中可以采用浏览器,互联网中也可客户程序。
可以想象出局域网中可以大数据量流,互联网中必须小数据量流。

规则应用何处?
采用应用程序服务器后,大家取得共识收交了客户端上的规则。
有的人把规则放到应用程序服务器中,能减轻数据库的工作负荷。
我认为规则还是让数据库去管理,数据库的能力比我们强。
只有一些很老的数据库管理规则能力很低,或许不是关系型数据库
应用程序服务器就得去处理规则。
应用程序服务器最好去负责连接方面,数据流量的监测,提供优质服务给客户端,
更好的兼容不同类型的,老式数据库。

目前有三种类型的应用程序服务器
微软的分散型:分散到不同的技术中。
数据库厂商:他们卖数据库时一起卖应用程序服务器(专用型)。
独立软件商:开发的独立的应用程序服务器。
适合于不同的情况。
而我们,我想是开发独立性应用程序服务器,能提供更好的灵活性,兼容性。
大家以开发时注意下将来。

C++Builder5为我们提供了开发客户端和应用程序服务器各种零件。
应用程序服务器端零件:TDataSetProvider+BDE方式零件(Table,Query...)+ADO(ADOTable....)。odbc还是通过BDE零件;SQL link我见都没见到
ADO零件不丰富没有BDE的会话,批量移动,缓存更新,嵌套表;更没有InterBase的事务,数据库信息,监测,事件。
BDE发布时复杂很,很不听话,哪怕有安装程序也无地自容。希望C++Builder6能增强ADO功能,啊Deiphl6出来了不置可否?

客户端
TDataSource+TClientDataSet+{TDCOMConnection;TSocketConnection;TWebConnection;TCorbaConnction;TSimpleObjectBroker}
五种不同的方式连接应用程序服务器.
TDCOMConnection 采用DCOM技术发布时要注意NT服务器名和域名设置,应用程序服务器也要在客户端注册DCOM。

TSocketConnection:采用TCP/IP方式可以不用NT域名服务器,连接有安全问题应用程序服务器中要启动ScktSrver.EXE来监听。

TWebConnection: 采用HTTP方式,它却是连接的是WEB服务器,通过它传数据给应用程序服务器。发布时客户端要Wininet.dll只要装了IE3以上系统自带;
WEB服务器必须是IIS4 UP 或者Netscap enterprise3.6 up;
WEB服务端要有HTTPsrvr.dll;
TWebConnection->URL="HTTP://MIDASHOST.ORG/scripts/httpsrvr.dll"。

TSimpleObject: TOLEnterpriseConnection简单版为了向后兼容,好处在于连接应用程序服务器组,能随机选择,使应用程序服务器负载平衡,由4个部分组成
1Broker.exe
2ObjFact.exe
3OLECFG.exe
4OLEntExp.exe
1+2放在应用程序服务器Broker.exe先运行;3 和4是配置工具。不能单独使用ClientDataset+DCOM+Simpleobject

TCorbaConnction: 我没有这个家伙不好说!!

所有的客户端要同时发布MIDAS.DLL。具体情况具体分析,我不多说了。报纸新闻说加入了WTO要企业上信息系统,我学过信息系统很复杂涉及到管理方法和人际关系,但要数据库支持,三层数据库必是首先。我们有英雄有用武之地,VC VB 还嫩着点了。
icemanpro 2003-10-09
  • 打赏
  • 举报
回复
浅谈如何建立三层体系结构的ASP应用程序

  随着互连网应用的深入和发展,三层体系结构的应用模式也得到更多人的青睐。本文介绍了三层结构应用程序的概念和优点,并结合一个实例介绍了如何建立三层结构的ASP应用程序。

  一、两层结构的ASP应用有何缺点

  ASP有一个天生的缺点,就是ASP代码和HTML代码是混在一起的,ASP程序员既需要考虑与数据库打交道,需要关心如何与HTML配合,有时还需要用ASP直接生成HTML代码。其结果是,当程序逻辑足够复杂时,.asp源文件非常长;而且,无论客户提出用户界面的改变,还是商业逻辑的改变(比如,在考试系统中,"合格"的标准可能从达到60分就算合格,改为进入前100名才算合格),都需要对.asp文件进行改动,而商业逻辑的改变,很可能需要改动很多文件。

  二、三层结构的概念

  在传统的C/S应用中,也存在着上述同样的问题,多层结构的应用正是在C/S 结构的基础上产生的,并且也扩展到了B/S应用开发领域。 即将应用划分为三层(可以有更多层,但三层最常见): 用户界面层,商业逻辑层,数据库层。

  用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发。

  商业逻辑层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(Registry)中,它与客户端通讯的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发。
 
  数据库层负责实际的数据存储和检索。 有了这样的结构,上面的问题迎刃而解:还是以考试系统中的合格标准为例,在客户端所有需要显示合格人员名单的地方,调用这样一个函数GetQualifiedList,至于这个函数如何编写,如何与数据库打交道,以至访问的是何种数据库都与其无关(你一定有过这样的经历,在一种数据库系统上运行得很好的SQL语句,有时换到另一种数据库系统上必须加以修改); 在中间层DLL中实现这个GetQualifiedList函数,如果用户对"合格"的定义变了,只需要修改这个函数就可以了,只要此函数的入口参数和返回内容不变,在客户端不需作任何改动。在这里,我们看到了面向对象编程的特性之一封装性的优点,而这一点在开发大型应用时尤其有用--我们可以把开发人员分成两组,一组负责开发界面层,另一组负责开发商业逻辑层,双方只要按照事先商定的函数接口,并行地开发就可以,而不必向从前那样,后面的工作必须等前面的工作完成后才能开始。当然,这样的开发模式需要很好的项目协调和文档作支持。

  你也许会问,如果我把这些函数些在一个单独的文件中,再在需要调用的地方把它包含进来,不是同样能达到目的吗? 第一,这种方法效率不高,无论你把这些函数分散到多少个文件中,当你需要调用其中一个时,总会包含进一些实际上并不需要的函数,这无疑加重了服务器的负担,对服务器性能要求较高的Web应用尤其如此。 而DLL只在需要时才调入内存且只调入需要的函数,并且多个应用程序实例可以共享同一个DLL实例;第二,设想一个员工,有20个属性(工号,姓名,年龄,性别......),现在给定某工号,要求返回此员工所有信息。此时如果单纯用函数,只能定义20个全局变量,在函数中改变这些变量值,或者定义一个有20个传参(by reference)参数的函数。显然,第一种方法很麻烦而一旦增加一个属性后一种方法就需要更改函数接口。而在一个对象里,既包含成员方法(即函数和过程),也包括成员属性。如果我们采用对象的方法,则在函数中只需要改变对象的属性,在函数外可以直接引用改变了的对象属性值。 这种方法有些类似第一种方法,但1.属性值无需在函数外逐一说明;2.这些属性值只属于对象,与对象无关的代码不会无意地改变属性值;3.一旦对象被释放,这些值会被一起释放。


09年自考管理系统中计算机应用简答 第一章 计算机应用与企业管理现代化   1. 简述管理信息的作用?* 本P10   2. 何为企业中物流和信息流?二者有什么区别和联系?   3. 管理信息具有哪些特点?* 本P36   4. 简述管理信息常用的分类方法?P14   5. 工业企业中的固定信息主要由哪些部分组成?P15   6. 简述管理信息处理的内容?* 本P48   7. 什么是原始信息收集和二次信息收集?两种收集的关键问题是什么?P15   8. 试述现代企业对信息处理的要求* 本P61   9. 简述计算机应用对企业管理现代化的促进作用 * 本P72 2000年考简答:什么叫管理工作标准化?包括什么内容?   10. 简述管理信息系统阶段的主要特点 P18   11. 试述半结构化决策问题的特征 P18   12. 简述决策支持系统的特点(简述DSS的特点?)* 本P96   13. 简述DSS的基本结构 P19   14. 简述主管支持系统主要功能 P19   15. 简述计算机集成制造系统的特点(简述CIMS的特点?)* 本P84   16. 简述发展电子数据交换(EDI)的作用 P20   17. 管理系统中计算机应用,应具备哪些科学管理的基础 P20   18. 试述在建立企业管理信息系统过程中企业领导的作用 P21   19. 简述在建立企业管理信息系统过程中,对管理人员培训的层次和内容 P22   20. 试述商业企业管理信息系统的层次组成及主要功能 P22   第二章 数据库的基本知识   21. 什么是数据库应用系统 P26   22. 什么是数据库?特点是什么? P27   23. 关系数据库模型的特点是? P27   24. 什么是数据模型?有哪几种常用的数据模型?P27   25. 什么是数据库管理系统?简单说明它的组成?P27   26. 什么是数据库系统?它与文件系统有什么区别?P27   第三章 FoxBASE的命令与操作   27. FoxBASE属于哪类数据模型?有什么特点?P49   28. FoxBASE有哪几种工作方式?他们的特点?P49   29. FoxBASE的命令格式是怎样的?各部分的作用如何?P49   30. FoxBASE中可以使用的数据类型有几种?各种数据类型的特点和规定有哪些?P50   31.字段变量与内存变量的区别?数组变量与简单变量的区别?P50   32.怎样定义变量?怎样给变量赋值?P50   33.表达式有哪几种类型?由什么因素决定其类型?P51   34.什么叫数据匹配?为什么要数据匹配?P51   35.库文件名和字段名的命名各有何异同?P52   36.怎样打开和关闭数据库文件?为什么要打开和关闭数据库文件?P52   37.可以用什么办法向数据库文件中追加记录?举例说明 P52   38.修改库文件记录的命令有哪几条?他们各自的特点是什么?试比较他们。 P52   第四章 FoxBASE的程序设计   39.简述结构化程序的主要特点、基本原则和基本步骤?P76   40.结构化程序设计的三种程序结构是什么?各有的特点?P77   41结构化程序设计的基本工具是什么?怎样使用?P77   42在FoxBASE中怎样建立程序和修改程序?P77   43在FoxBASE中怎样调试程序?有哪些常用的调试命令?P78   第五章 管理信息系统开发概论   44简述系统开发的任务?* 本P11   45简述系统开发的特点?* 本P24   46简述系统开发的指导原则? P93   47系统开发过程中,应如何体现系统的整体性原则?*(简述整体性开发系统的过程?) 本P36   48简述系统开发过程中文档的作用*(简述系统开发文档的作用?)本P48   49简述系统开发的主要方法及他们的特点 P95   50简单分析系统生命周期法的主要优缺点?(简述生命周期法的特点?)* 本P96   51简述原型法的主要优点?(简述原型法的特点?)* 本P85   52简述CASE的目标和作用?*(简述CASE的作用?) 本P61   53系统开发的主要方式有哪些? P98   54简述系统开发各种方式的优缺点?P98   55简述系统开发领导小组的职责? P99   56简述系统开发中系统分析员的任务及应具备的素质?P99   57简述在系统开发中程序设计员和企业管理人员的任务和应具备的素质?P100   58简述系统开发过程中进行项目管理的必要性和项目管理的方法?P100   第六章 系统分析   59简述可行性分析小组人员和工作内容?P115   60简述系统总体方案基本内容?* 本P12   61方案的可行性应从哪些方面进行分析和评价?*(简述可行性分析的基本内容?)本P25   62可行性分析报告论证可能提出的建议有哪几种?P116   63试述现状调查参加人员和常用的调查方法? P116   64试述在系统分析中,对描述、分析系统的工具(各种图、表和方法)的要求? P116   65试述数据流成图的作用与特点?*(简述数据流成图的特点?) 本P36   66试述采用分层次数据流成图来描述系统,有哪些优点?P117   67试述数据字典编写的基本要求? P117   68简述手工数据字典中条目的形式和主要内容?*(简述数据字典的基本内容?)本P48   第七章 系统设计   69试述计算机应用软件系统具有可修改性的重要意义? P137   70简述模块间调用的规则?P138   71何谓数据凝聚的模块?P138   72何谓功能凝聚的模块?P138   73简述模块偶合的类型?P139   74简述在关系数据库中关系具有的性质?P139   75简述E-R图中实体之间联系的类型?P139   76简述由E-R图向关系模型转换的规则?P140   77简述计算机主机选型的步骤?P140   78系统软件主要包括哪些内容?P140   79常用的操作系统有哪几种?P141   80简述计算机网络的功能?P141   81简述局域网拓扑结构分哪几种,及他们的性能比较?P141   82输入数据校验的主要方法有哪些? P141   83通过校验位可以发现代码的哪些错误? P142   第八章 系统实施   84简述系统实施阶段的重要性及主要活动?P156   85系统实施应作好哪些准备工作?P156   86试述系统实施阶段对用户培训的内容和方式? P157   87简述程序设计的质量要求?P157   88为什么要进行系统测试?P158   89简述系统测试的基本原则?P158   90如何设计测试用例?P158   91简述系统测试中可能发生的错误类型? P159 2000年考简答   92简述系统测试的步骤?P159   93试比较系统转换各种方式的优缺点?P160   94简述用户操作手册包含的内容?P160   95简述程序说明书的主要内容?P161   第九章 系统的管理与维护   96试述企业信息组织中,集中与分散相结合的工作方式?P169   97试述我国信息中心在企业组织结构中的地位?P170   98简述信息中心各类人员的职责和素质要求?P170   99试述保证信息系统安全性与质量控制的重要意义?P171   100简述物理安全控制的内容?P171   101简述安全控制中人员及管理控制的内容?P172   102为什么要进行存取控制?P172   103简述存取控制的基本方法?P172   104简述应用软件系统维护的类型?P172   105试述数据库重组织与重构造的目的和工作内容?P173
第一部分 了解COM 第1章 COM概述 何谓CoM COM术语 COM利与弊 COM的好处 COM的局限性 COM组件与接口 何谓接口 接口特征 接口类型 接口规则 接口设计 COM组件的实现规则 实现IUnknown规则 内存管理规则 引用计数规则 COM激活 COM类型 COM客户机 COM服务器 ActiveX控件 COM与面向对象技术 包装 抽象 多态 继承 COMTrader应用程序 小结 第2章 由VC++建立并使用COM服务器 IDL文件 建立第一个COM服务器 定义自定义接口 实现IUnknown和自定义接口 完成COM服务器 生成测试客户机 用ATL建立COM服务器 关于ATL 用ATL建立进程内COM服务器 用ATL建立进程外COM服务器 线程与COM服务器 Win32多线程应用 线程COM组件 自动化与IDispatch 用VC++实现IDispatch ATL与自动化 Automation数据类型 再谈类型库 C++自动化客户机 VB自动化客户机 小结 第3章 用VB建立并使用COM服务器 选择COM项目 设计接口 描述接口 浏览接口 生成对象 使用ClassBuilder 增加属性 增加方法 增加事件与枚举 使用ActiveXDataObject(ADO) 在服务器组件中使用Recordset对象 在客户机组件中使用ADOR 生成断开的Recodset 生成自己的RecodsctS 使用用户定义类型 错误处理 服务器客户机错误处理 使用VBErr.Raise机制 在VB中使用线程模型 设置线程模型 了解再入性与公寓 小结 第二部分 COM与Internet 第4章 在VC++中建立并使用ActiveX控件 ACtiveX控件概还 属性与方法 控件与容器通信 事件与连接点 建立第一个控件 生成控件 测试控件 增加方法 增加属性 增加事件 增加属性页 允许属性保持 使用控件 建立复合控件 增加复合控件 增加功能 增加事件 处理复合控件事件 处理错误 使用控件 小结 第5章 在VB中建立并使用ActiveX控件 VB控件简介 约束与无约束控件 控件生成技术 属性类型 方法 属性配置 过程属性 环境属性配置 运行时只读属性 只在运行时有效的属性 扩展属性 容器属性 合成控件属性 可关联属性 持续与属性包 属性包 使用ActiveX控件界面向导 了解控件寿命 生成ActiveX控件 生成无约束控件 生成设计时数据约束控件 生成运行数据约束控件 小结 第6章 用VC++建立InternetCOM组件 IEActiveX控件 轻量级控件 安全控件 持续属性 文档对象模型编程 活动服务器组件 活动服务器页面 ASP页面的COM组件 小结 第7章 用VB建立InternetCOM组件 无窗口控件 ActiveX控件容器的线程模型 ActiveX控件的安全性 Web页面访问 VBDHTML项目 DHTML项目基础 DHTML应用程序样本 VBIIS应用程序 WebClass 一个IIS应用程序样本 设计控件 设计控件与HTML文件 样本设计控件 小结 第三部分 了解DCOM 第8章 DCOM概述 何谓DCOM 为什么使用DCOM DCOM操作 DCOM组件位置 进程内或进程外组件 代理 RPC(RemoteProcedureCall,远程过程调用) 调动 数据传递 DCOM配置实用程序 DCOM应用程序的安全机制 验证 授权 加密 整性检查 小结 第9章 用VC++建立DCOM服务器 标准与自定义调动 标准调动 自定又调动 网络通伯 远程激活 AppID注册表项 可配置AppID注册表项参数 IUknown优化 DCOM与NT服务 NT服务解剖 基于NT服务的COM服务器 小结 第10章 用VB建立DCOM服务器 应用程序对象模型 何谓对象模型 如何生成对象模型 DCOM设计准则与技术 再论调动 按数值与按引用 DCOM进程外服务器 建立DCOM组件 增加测试客户机 IIS应用程序 增加WebClasses 使用模板 增加自定义Webltems 远程错误处理 小结 第四部分 了解COM++ 第11章 COM++概述 COM与WindowsDNA 用户界面层技术 中间层技术 数据库层技术 组件服务配置 事务处理 排队组件(QC) 实时结构的限制 事务性消息排队 排队组件结构 排队组件故障恢复 QC安全性 动态负荷平衡 对象地 小结 第12章 用VC++建立COM++组件 ADO编程 ADO与OLEDB VC++中的ADO VC++的ADO扩展 建立COM++应用程序 温习IObjectContext接口 用ATL建立COM++组件 编制基于角色的安全性 处理COM+事务 控制事务结果 指定事务属性 确定事务情境 传递接口指针 共享状态 建立事务性COM+组件 小结 第13章 用VB建立COM+组件 了解事务 事务与多层应用程序 COM+与事务 事务属性:ACID COM+系统简介 COM+运行环境 COM+ComponentServices COM+接口 资源分配器 应用程序组件 探索COM+编程模型 COM+组件作为COMDLL 基本COM+编程规则 COM+API 用VB编程COM+ 对象描述表 COM+组件的生命周期 ObjectControl接口 MTS活动 COM+中生成对象 安全引用 组件之间的参数传递 数据类型 使用分布式事务 分布式事务协调器(MSDTC) COM+事务的工作 事务与有状态对象 使用共享属性管理器(SPMSharedProperyManager) 小结 第14章 了解MSMQ 何谓MSMQ MSMQ的好处 MSMQ组件 队列 消息 MSMQ对象模型 MSMQ设置 MSMQ基础 消息发送 消息接收 MSMQ事件 MSMQ事务 小结 第五部分 高级COM与COM+ 第15章 VC++与VB中的COM+服务 了解COM+激活 描述表包装器 激活顺序 使用即时(JIT)激活 使用对象构造 中性公寓简介 了解同步域 表示事务状态 取得对象信息 使用对象地 对象池的好处 对象地要求 对象地配置 使用排队组件 QC限制 QC配置 QC调用 QC播放控件 使用负荷平衡 负荷平衡要求 负荷平衡配置 小结 第16章 COM与COM+安全性 何谓安全性 WindowsNT安全简介 NT验证 NT扮演 NT访问控制 COM安全结构 验证 访问控制 启动权限 标_ 扮演与掩盖 安全总括 COM+安全 COM+说明性安全 COM+角色 编程COM与COM+安全 整个进程安全 接口级安全 激活安全 服务器方安全 调用描述表安全信息 SecuntyProperty信息 安全性与数据库访问 小结 第17章 Windows2000中的新COM特性 同步机制 COM同步API COM同步接口 异步COM 异步接口构造 异步接口调用 关于异步服务器与客户机 让服务器进行异步处理 调用序列化与自动完成 COM管道 COM管道接口 异步管道与提前读取 调用对象与调用取消 调用取消请求 调用取消处理 轻量级处理器 标准LWH 自定义LWH 小结 第六部分 调试与部署COM和COM+应用程序 第18章 调试与剖析COM和COM+应用程序 调试VB组件 调试MTS组件 调试COM+组件 使用条件编译 调试VC++组件 用VisualStUdioAnalyzer剖析 小结 第19章 部署COM与COM+应用程序 DCOM应用程序部署 配置DCOM服务器 配置DCOM客户机 在Internet上部署 Internet上部署与包装 签名CAB文件 许可ActiveX控件 自动化COM+配置 使用COMAdmin接口与集合 配置COM+应用程序 配置组件 配置角色 部署COM+应用程序 小结
因文件超过20M不能上传,所以拆分为两个文件分次上传 第1章 COM背景知识 1.1 COM的起源 1.1.1 软件业面临的挑战 1.1.2 传统解决方案 1.1.3 面向对象程序设计方法 1.1.4 最终解决方案:组件软件 1.1.5 面向对象的组件模型——COM 1.2 COM的发展历程 1.2.1 COM以前的对象技术:DDE、OLE 1、VBX控件 1.2.2 COM首次亮相:OLE2 1.2.3 Microsoft拥抱Internet:ActiveX 1.2.4 更多的新名词:Windows DNA和COM+ 1.2.5 远程对象:ORBs和DCOM 1.2.6 COM的最新版本:COM+ 1.3 COM技术现状 1.3.1 COM与CORBA 1.3.2 COM与Enterprise Java Beans 1.3.3 Windows之外的COM 小结 第2章 从C++到COM 2.1 C++客户重用C++对象——例程DB 2.1.1 C++对象 2.1.2 客户程序 2.2 将C++对象移进DLL中——例程DB_cppdll 2.2.1 成员函数的引出 2.2.2 内存分配 2.2.3 Unicode/ASCII兼容 2.2.4 例程实现 2.2.4.1 修改接口文件 2.2.4.2 修改对象程序 2.2.4.3 修改客户程序 2.3 C++对象使用抽象基类——例程DB_vtbl 2.3.1 问题:私有数据成员被暴露 2.3.2 解决方案:抽象基类 2.3.2.1 什么是抽象基类(Abstract Base Class) 2.3.2.2 实现秘诀:虚函数(Virtual Functions) 2.3.3 使用抽象基类 2.3.4 例程实现 2.3.4.1 修改接口文件 2.3.4.2 修改对象程序 2.3.4.3 修改客户程序 2.4 改由COM库装载C++对象——例程dbalmostcom 2.4.1 COM库 2.4.2 对象创建的标准入口点 2.4.3 标准对象创建API 2.4.4 标准对象注册 2.4.5 例程实现 2.4.5.1 修改接口文件 2.4.5.2 修改对象程序 2.4.5.3 修改客户程序 2.5 将C++对象变成COM对象 2.5.1 引用计数 2.5.2 多接口 2.5.3 IUnknown接口 2.5.4 标准类厂接口:IClassFactory 2.5.5 对象代码的动态卸载 2.5.6 自动注册 2.5.7 例程实现 2.5.7.1 修改接口文件 2.5.7.2 修改对象程序 2.5.7.3 修改客户程序 2.6 为COM对象添加多接口支持 2.6.1 多接口 2.6.2 DEFINE_GUID 2.6.3 例程实现 2.6.3.1 修改接口文件 2.6.3.2 修改对象程序 2.6.3.3 修改客户程序 小结 第3章 COM基础知识 3.1 对象与接口 3.1.1 COM对象 3.1.2 COM接口 3.1.3 IUnknown接口 3.1.3.1 生存期控制:AddRef和Release 3.1.3.2 接口查询:QueryInterface 3.1.4 全球唯一标识符GUID 3.1.5 COM接口定义 3.1.6 接口描述语言IDL 3.2 COM应用模型 3.2.1 客户/服务器模型 3.2.2 进程内组件 3.2.3 进程外组件 3.2.4 COM库 3.2.5 HRESULT返回值 3.2.6 COM与注册表 3.3 COM组件 3.3.1 实现类厂对象 3.3.2 类厂对象的创建 3.3.3 实现自动注册 3.3.4 实现自动卸载 3.4 COM客户 3.4.1 COM对象创建函数 3.4.1.1 CoGetClassObject 3.4.1.2 CoCreateInstance 3.4.1.3 CoCreateInstanceEx 3.4.2 如何调用进程内组件 3.4.3 COM客户调用进程外组件 3.5 进一步认识COM 3.5.1 可重用机制:包容和聚合 3.5.2 进程透明性 3.5.3 安全性机制 小结 第4章 COM扩展技术 4.1 可连接对象机制 4.1.1 客户、接收器与可连接对象 4.1.1.1 接收器 4.1.1.2 可连接对象 4.1.1.3 客户 4.1.2 实现可连接对象 4.1.3 实现接收器 4.1.4 建立接收器与连接点的连接 4.1.5 获得出接口的类型信息 4.2 结构化存储 4.2.1 什么叫结构化存储和复合文件 4.2.2 存储对象和IStorage接口 4.2.2.1 IStorage接口 4.2.2.2 获得IStorage指针 4.2.2.3 释放STATSTG内存 4.2.2.4 枚举存储对象中的元

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧