|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有专家说:net网页编程不是跨平台,net网页编程就是平台,这很好的定义了net网页编程的特点。有了net网页编程,你只需要等待net网页编程平台在新平台上移植。这还不错吧!只是,net网页编程不是一个平台,而是多个平台。你需要在这个net网页编程平台移植到另一个net网页编程平台。头几天学了一点C#,没认真的。由于要弄《MSDN开辟精选》的原因,完整不懂也说不外往。没看甚么言语方面的书。也就是把JeffereyRichter的《Applied.NETFramework》(李建忠译本)找来翻翻。看到event那一部分就烦了,本来C#的delegate和event只是外表光,上面的完成仍是十分粗笨。一个长长的链表,内里放着闭包指针,范例是够平安了,支付的空间和工夫效力都不小。对我我这类从C言语爬过去的人,就是以为不爽。
事务处置机制是C++及厥后继者(Java、C#)的最年夜软肋之一。实质上是由于C++昔时的选择,把对象之间的一般动静传送用成员函数挪用给办理了。成员函数挪用快是够快,可是招致了动静发送者与承受者之间的紧耦合。年夜多半情形下这倒也并非甚么年夜不了的事,恰恰在事务处置上,理论中必要松耦合,因而C++的成绩就表露出来了。君不见,一切用C++写的GUIFramework都在event这件事变上年夜做文章。对照笨的如MFC的全局映照表,对照伶俐的如Qt的Signal/Slot,一个破例是VCL,Borland完成了closure指针,把callercontext跟指针绑到一同发送给callee,Java对照中规中矩,依照最OO的体例完成了事务处置机制,可是可扩大性欠好。C#的delegate实在就是VCL中closure指针的新版。总之是八仙过海,各显其能。可是我以为,都是在C++已走歪的老路上枉然勉力。只需这个思绪还在,事务处置就不成能十分elegant。C#可让整件事变在外表上看起来很大度,但是骨子里仍是肮脏的。
就团体而言,我仍是对照浏览C的举措:划定一个协定,我把event数据筹办好放在一个中央,然后就不论了,事务的承受者本人往取数据,本人剖析,本人决意怎样处置。
如许的承受者,在对象分类中,叫做自动对象——activeobject。这两年在embeddedsystemprogramming两头,人人愈来愈发明自动对象的各种上风。我团体以为支流编程范畴也应当思索一下这个成绩。
自动对象的成绩多是范例不平安,但实践上范例平安没有那末主要,没需要逝世抱住不放。本来C言语里:
int(*compare)();
声明的指针能够指向任何前往整数的函数,不论其参数列表怎样。在C++内里,这个指针只能指向一个前往整数的无参函数了,天真性年夜年夜下降。也难怪opensource人士仍是偏幸C。固然平安性和天真性一律主要,可是真实的黑客能够用本人的手艺来保证平安性,却没法承受天真性的缺掉。
扯远了。
总之,看得越多,越以为C真是一种巨大的言语,也许只要Fortran和LISP跟它处于统一级别。
附带提一句,李建忠翻译的质量极高,令我辈叹服。
来自:http://blog.csdn.net/myan/archive/2004/04/21/489.aspx
觉得J2EE好像有很多工具,比如servlet,jboss,tomcat,ejb什么的,可是微软的.NET怎么什么也没有啊? |
|