如果有兴趣的话,你可以参考贴子:
http://expert.csdn.net/Expert/topic/1296/1296962.xml?temp=.9463007因为这是一本For Delphi的书,所以,本书还有一个重点将会放在DCOM for Midas 方面(至于CORBA在本书中出现的章节将不是很在大,页码我会控制在100页左右,原因我会在书中写明白,应该明确的是,COM+编程已经不是一个平台组件技术,它同样可以实现跨平台的编程),但同李维先生的那本书有所不同的是,实例会更加详细,而且,从我而言,李维先生的那本书,是一本入门书,所以,将对一些高级应用有更大的扩展,效率、架构方面会投入很大的精力;也不会如许多书只是提及或是理论性的知识占更大的部分,实例会伴随着每一个分析过程,效率问题也会进行很大的扩展,在此同时,对于所有看到本书的程序员,可以是 初级入门者(也许有些勉强)的、中级的或是次层更好的;因为对于一些专业性的述语阐述会更明了;事实上我也正是如此去做的,希望不会让大家失望,现在正在写COM+的初始阶段COM,从自身认为,每一个读者都会随者进度对COM有个更明确的认识,也是为了以后的进阶打下更好的基础;需要说明的,这本书不会像李维先生的那本书,不是我有意避开李维先生的书给大家带 去的影子,我会将更多的笔默花费在一些高级技术上或是现在是面上(李维先生的那本书也包括在内)有意逃避的一些问题;再者,对于一些在分布式中需要用到的一些知识,如:多线程方面等,将不会花太多的时间去讨论的,但例程中,我会做解释说明的;或是在章节中进行最简洁的说明、介绍;
同时,谢谢大家的支持,如果有必要,会将一些章节放在这儿和大家一起交流的;
关于图书的目录
第一篇:分布式系统概述
分布式系统简介
分布式系统分支特性
第二篇:分布式系统之COM+篇
第一章 :COM 编程篇
1、 COM特性
2、 COM优点
3、 COM相关概念(贯穿于COM、DCOM、MTS、COM+)
4、 COM高级编程
第二章 :DCOM编程篇
1、 DCOM特性
2、 DCOM与Delphi的无缝结合
3、 DCOM高级编程
第三章 :COM+编程篇
1、 COM+概念阐述及简介
2、 COM+分布式特性
3、 COM+与Delphi的应用
4、 COM+ 高级编程
5、 COM+系统发布谈
6、 提高Delphi分布式效率之DCOM篇
7、 提高Delphi分布式效率之COM+篇及COM+系统架构分析
8、 搞高Delphi分布式编程效率之COM+篇
9、 COM+综合概述这高级应用篇
10、 COM+之超越编程语言篇
第三篇:Midas篇
第一章:Midas简介
第二章:Midas编程应用(有分支,通过详细和连贯的实例来讨论Midas编程中各种功能技术、技巧)
第三章:Midas编程高级应用
第四章:Midas编程之前卫技术应用分析(MXL占相当的一部分)
第五章:Midas 编程系统架构分析
第六章:
1、 Midas编程之提高效率篇(系统分析,理论将占一部分)
2、 Midas 编程之提高效率篇(各种可行性分析,实际应用则是重中之重)
第七章:Midas编程之实战应用篇
第八章:Midas系统发布谈
说实话,这本书的起点不是入门书籍,但并非是完全的没有顾及到入门的程序员,只是学起来有些勉强,可能需要翻阅一些其它方面的相关资料,不过,对于本书出现的一些相关概念,我尽量的不书面化;将它们以语言来给大家进行说明;文中有相当一部分的实例,然和其它书有所不同的是,在本书中的实例将很连贯,在看完本书时,也许你会发现,你已经完成了一个两个小型的系统,既基于COM+的和基于Midas的两个小系统;
初步规化:COM+篇将会占本书的50%的篇幅(包括COM、DCOM、MTS);Midas占本书的45%,其它将占5%;现在正在写COM+的初始阶段COM,已经进入高级编程篇,在写书的同时,有时连自己都不知道这本书什么时候会写完,提会很深,好像自己难于把握的了页数,因为有些知识点实在是太有必要了,而对于深入编程又有很大作用,可是想正真的掌握它又需要一定的篇幅,如在COM中的MarshallIng技术、Poxry/Stub技术等,往往需要花大量的笔墨去讨论,所有会写的不忍心放下笔;昨天在进入COM高级编程时,看到了仅仅是COM这章就占了很大的一部分;而我尽量的作的将一些COM创建向导进行更大的简化等方面的工作;感觉写起来很辛苦;一本书,一本高级编程书籍,而页码如果按现在我自己的想法的话,不会少于700页,…… 有时会没有条理,虽然自己觉的那些东西更应该让朋友们可以看到,但写了出来却不是很容易的事;
尽力吧,再此也希望可以得到大家人支持,说实在话,自己也不知道是否可以正真的如愿一尝的写完之本书,如果这本书可以发行的话,相信将是Delphi程序员的一个分布式编程的必备参考书籍; 也谢谢各位朋友的支持;
需要说明的是,以上目录仅仅是我自己写的,里边有很多小的分支自己没有办法写了出来,但大的系统分支就是以上的目录;
再此也祝愿大家元旦快乐:)
http://expert.csdn.net/Expert/topic/1296/1296962.xml?temp=.9463007因为这是一本For Delphi的书,所以,本书还有一个重点将会放在DCOM for Midas 方面(至于CORBA在本书中出现的章节将不是很在大,页码我会控制在100页左右,原因我会在书中写明白,应该明确的是,COM+编程已经不是一个平台组件技术,它同样可以实现跨平台的编程),但同李维先生的那本书有所不同的是,实例会更加详细,而且,从我而言,李维先生的那本书,是一本入门书,所以,将对一些高级应用有更大的扩展,效率、架构方面会投入很大的精力;也不会如许多书只是提及或是理论性的知识占更大的部分,实例会伴随着每一个分析过程,效率问题也会进行很大的扩展,在此同时,对于所有看到本书的程序员,可以是 初级入门者(也许有些勉强)的、中级的或是次层更好的;因为对于一些专业性的述语阐述会更明了;事实上我也正是如此去做的,希望不会让大家失望,现在正在写COM+的初始阶段COM,从自身认为,每一个读者都会随者进度对COM有个更明确的认识,也是为了以后的进阶打下更好的基础;需要说明的,这本书不会像李维先生的那本书,不是我有意避开李维先生的书给大家带 去的影子,我会将更多的笔默花费在一些高级技术上或是现在是面上(李维先生的那本书也包括在内)有意逃避的一些问题;再者,对于一些在分布式中需要用到的一些知识,如:多线程方面等,将不会花太多的时间去讨论的,但例程中,我会做解释说明的;或是在章节中进行最简洁的说明、介绍;
同时,谢谢大家的支持,如果有必要,会将一些章节放在这儿和大家一起交流的;
关于图书的目录
第一篇:分布式系统概述
分布式系统简介
分布式系统分支特性
第二篇:分布式系统之COM+篇
第一章 :COM 编程篇
1、 COM特性
2、 COM优点
3、 COM相关概念(贯穿于COM、DCOM、MTS、COM+)
4、 COM高级编程
第二章 :DCOM编程篇
1、 DCOM特性
2、 DCOM与Delphi的无缝结合
3、 DCOM高级编程
第三章 :COM+编程篇
1、 COM+概念阐述及简介
2、 COM+分布式特性
3、 COM+与Delphi的应用
4、 COM+ 高级编程
5、 COM+系统发布谈
6、 提高Delphi分布式效率之DCOM篇
7、 提高Delphi分布式效率之COM+篇及COM+系统架构分析
8、 搞高Delphi分布式编程效率之COM+篇
9、 COM+综合概述这高级应用篇
10、 COM+之超越编程语言篇
第三篇:Midas篇
第一章:Midas简介
第二章:Midas编程应用(有分支,通过详细和连贯的实例来讨论Midas编程中各种功能技术、技巧)
第三章:Midas编程高级应用
第四章:Midas编程之前卫技术应用分析(MXL占相当的一部分)
第五章:Midas 编程系统架构分析
第六章:
1、 Midas编程之提高效率篇(系统分析,理论将占一部分)
2、 Midas 编程之提高效率篇(各种可行性分析,实际应用则是重中之重)
第七章:Midas编程之实战应用篇
第八章:Midas系统发布谈
说实话,这本书的起点不是入门书籍,但并非是完全的没有顾及到入门的程序员,只是学起来有些勉强,可能需要翻阅一些其它方面的相关资料,不过,对于本书出现的一些相关概念,我尽量的不书面化;将它们以语言来给大家进行说明;文中有相当一部分的实例,然和其它书有所不同的是,在本书中的实例将很连贯,在看完本书时,也许你会发现,你已经完成了一个两个小型的系统,既基于COM+的和基于Midas的两个小系统;
初步规化:COM+篇将会占本书的50%的篇幅(包括COM、DCOM、MTS);Midas占本书的45%,其它将占5%;现在正在写COM+的初始阶段COM,已经进入高级编程篇,在写书的同时,有时连自己都不知道这本书什么时候会写完,提会很深,好像自己难于把握的了页数,因为有些知识点实在是太有必要了,而对于深入编程又有很大作用,可是想正真的掌握它又需要一定的篇幅,如在COM中的MarshallIng技术、Poxry/Stub技术等,往往需要花大量的笔墨去讨论,所有会写的不忍心放下笔;昨天在进入COM高级编程时,看到了仅仅是COM这章就占了很大的一部分;而我尽量的作的将一些COM创建向导进行更大的简化等方面的工作;感觉写起来很辛苦;一本书,一本高级编程书籍,而页码如果按现在我自己的想法的话,不会少于700页,…… 有时会没有条理,虽然自己觉的那些东西更应该让朋友们可以看到,但写了出来却不是很容易的事;
尽力吧,再此也希望可以得到大家人支持,说实在话,自己也不知道是否可以正真的如愿一尝的写完之本书,如果这本书可以发行的话,相信将是Delphi程序员的一个分布式编程的必备参考书籍; 也谢谢各位朋友的支持;
需要说明的是,以上目录仅仅是我自己写的,里边有很多小的分支自己没有办法写了出来,但大的系统分支就是以上的目录;
再此也祝愿大家元旦快乐:)
您好,是否可以将
http://expert.csdn.net/Expert/topic/1315/1315069.xml?temp=.5730249
这个贴子置项?谢谢;
ihihonline相关贴子连接
http://expert.csdn.net/Expert/topic/1296/1296962.xml?temp=.9463007
摩托放风出来:小小打算写关于Multi-tier的书拉。大家快来up一下,让小小下决心阿~~~
up
up
。
。
。
祝大家快乐!!
我看了你书的目录,在结构上和电子工业出版社出的那本飞思的<<DELPHI 分布式开发>>,似有相似.当然,那本书泛善可陈,写得好的书有一个共同的特点:对它想说的东西都能说通说透!!从道理到实践,相信你行................
的确,电子工业出版社出的那本飞思的<<DELPHI 分布式开发>>我也看过,但它只是一本入门书籍,这本书在理论上的确和那本书有相似之处,但是有一点可以肯定的就是,决不会如那本书有时会给人一种模糊的概念,甚至都不知道作者是否是从别的地方搬来的还是的确是自己就那样写的,记得在那本书中和李维先生的书有一个相似点,就是将一些问题绕道而过,但我不会那样做的;谢谢支持
回复人: zhangheaaa(竹) ( ) 信誉:100 2002-12-31 10:39:00 得分:0
热烈欢迎,希望能早日拜读!
希望能写的语言通俗易懂,连贯流畅,不要象某些书一样,东拼西凑,咬文嚼字,
晦涩难懂。
回复
回复人: ihihonline(小小->爱被下载中……) ( ) 信誉:107 2002-12-31 11:29:00 得分:0
TO zhangheaaa
这一点我会把握住的,我在我的论坛上放过一些原创,如:前些日子看过李维的书,介绍分布式处理的;
其中有一个是多表处理,对多表进行更新,说实话,我觉的如果你是新手的话,可能会被他的逻辑所困扰,记得它当时一共是用了三个Cache SQL 实现的(TUpdateSQL),每个控件又有不同的更新语句;
当时,虽然感觉懂,但总觉的不是很添晰;返过头来,才发现它还有一些问题没有交待清楚,(当然,我们要自己想的),我们再来一起看一看;在三层中,对于单表的更新很简单,可以有四种方法,对于多表的更新,也有几种方法,用户正真介入的,而且是比较安全的应该是在TClinetDataSet -> TProvider ->BeforeUpdateRecord事件里边,当更新完毕之后,然后再置
Applied := True 就可以;事件定义:
procedure TMTF_LX.MTDDataSetProviderBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
我们只要明白了数据更新机制的话,就不难理解多表更新;具体更新机制是什么样的?简单而言:
客户端 TClientDataSet.ApplyUpdates(MasError) 启动 应用服务端的TProvider进行数据更新,过程:Tprovider.BeforeUpdateRecord (参数判断,决定是否继续) -> TProvider.AfterUpdateRecord -> 数据合并回传;
由上边的过程我们不难发现,多表更新的确是应该在BeforeUpdateRecord事件里边写,首先应该明白事件的各个参数是什么意思,来分解一下每个参数:
procedure TMTF_LX.MTDDataSetProviderBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
Sender : TObject :显而易见,它就是指自身TProvider ,可用Serder.ClassName检测;
SourceDS:TDataSet:你还可以用Sender.ClassName进行检测,可以知道它就是TProvider.DataSet值,那么,它在多表更新而言意义不是非常大,至少我们现在可以这样认为,而且也并不是错的;
DeltaDS:TCustomClientDataSet:检测方法都可以用上边的方法,明确的说,可以理解它就是客户端的TClientDataSet,其实,应该是DeltaDS.Data := TClientDataSet.Delts,我们可以从它的里边进行数据提取;很重要的一个参数,不然无法进行多表更新;
UpdateKind : TUpdateKind :更新类型,Insert/Update/Delete三种类型;
Applied : Boolean :将决定是否由应用服务自动更新,多表更新中,不应该让自动更新,原因我想大家都应该知道的;所以再最后:Applied := True;
由此而来,更新就变的简单了,再理解李维老师的那个例子也变的更容易了,当然也可以自己写完全不一样的更新;下边将会给出一个例子;
现在,我们的精力就应该放在以下几点上:
取数据 :DeltaDS里边取出数据,我们都知道,多层中的数据传递是OleVariant的形式,现在我们不用管那些了,因为DeltaDS就是一个数据集;
判断更新类型:UpdateKind,根据不同的类型,要执行不同的操作;
更新操作:最后用另外一个数据集组件进行更新;
下边我给出一个例子,供大家参考;不过仅仅是插入,数据算法我没有用到,只是练习时用的
procedure TMTF_LX.MTDDataSetProviderBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
var
Info_FName,Info_Time : String;
User_Name,User_Pass : String;
UserInfo_Email,UserInfo_QQ : String;
SQLText : String;
Param : TParam;
begin
if ukInsert in UpdateKind then
with DeltaDS do
begin
Info_FName := FieldByName('Info_FUserName').AsString;
Info_Time := FieldByName('Info_Time').AsString;//Fields[1].AsString;/////// FieldByName('Info_Time').AsString;
User_Name := FieldByName('User_Name').AsString;///////////Fields[2].AsString;///////// FieldByName('User_Name').AsString;
User_Pass := FieldByName('User_Pass').AsString;/////////Fields[3].AsString;////////////
UserInfo_Email := FieldByName('UserInfo_Em').AsString;
UserInfo_QQ := FieldByName('UserInfo_QQ').AsString;
UserInfo_Email := FieldByName('UserInfo_Em').AsString;/////////////Fields[4].AsString;///////
UserInfo_QQ := FieldByName('UserInfo_QQ').AsString;///////// Fields[5].AsString;//////////
end;
with DataUpdateQuery do
begin
Try
SQLText := 'Insert csdnyh_Info (Info_FUserName,Info_TUserName,Info_Time) values(' + #39 + Info_FName + #39 + ','+#39 + Info_Fname + #39+',' + #39 + Info_Time + #39 + ')';
Close;
SQL.Clear;
SQL.Add(SQLText);
ShowMessage(SQL.Text);
ExecSQL;
Except
ShowMessage('对不起,数据更新错误');
Exit;
end;
Try
SQLText := 'Insert csdnyh_User (User_Name,User_Pass) values(' + #39 + User_Name + #39 + ',' + #39 + User_Pass + #39 + ')';
Close;
SQL.Clear;
SQL.Add(SQLText);
ExecSQL;
Except
ShowMessage('对不起,数据更新错误,第二张表');
end;
Try
SQLText := 'Insert csdnyh_UserInfo (UserInfo_name,UserInfo_Em,UserInfo_QQ) values(' + #39 + User_Name + #39 + ','+ #39 + UserInfo_Email + #39 + ',' + #39 + UserInfo_QQ + #39 + ')';
Close;
SQL.Clear;
SQL.Add(SQLText);
SQL.SaveToFile('Csdnyh_Info.TxT');
ExecSQL;
Except
ShowMessage('对不起,数据更新错误,第三张表');
Exit;
end; {}
end;
Applied := True;
end;希望到此,你可以很清晰的理解多表更新;
呵呵,是啊;Midas已经是不可阻挡的趋势;
▃ ▃ ≒ ≒ ▃ ┃开进2003┃
◢██████████〣〣███████████◣ ┗━━┳━┛
[ ■□■■■■■■■□〣〣■■≡■■■■■■ □ | ┃
■ ■███████ 〣〣 ██████ happy !◥) ┃
◥ ■ ︻ █████■〣〣 ︻ █████ ︻ ■◥▎ ┃
_▔/≡(◎)_____=▔▔(◎)_____/(◎)≡ ▆__ ┃__
不知道你是否还曾记得小弟?很感谢你当时对小弟的开导;
▃ ▃ ≒ ≒ ▃ ┃开进2003┃
◢██████████〣〣███████████◣ ┗━━┳━┛
[ ■□■■■■■■■□〣〣■■≡■■■■■■ □ | ┃
■ ■███████ 〣〣 ██████ happy !◥) ┃
◥ ■ ︻ █████■〣〣 ︻ █████ ︻ ■◥▎ ┃
_▔/≡(◎)_____=▔▔(◎)_____/(◎)≡ ▆__ ┃__
1.严重、强烈支持
2.希望有DBExpress的内容
3.希望有IW的内容
4.希望尽快出版自己的想法:
5.希望不要太多form源码和pas源码,不要太多form的Screen capture,把这些都录到CD吧
6.希望书价不要超过200元(实在要超就超吧,说实在写书还是瞒辛苦的)
支持小小。。