现在的位置: 首页 > 综合 > 正文

黄忠成、瞿杰、赵立东、张昊 对话 ASP.NET

2012年10月12日 ⁄ 综合 ⁄ 共 7434字 ⁄ 字号 评论关闭

 CSDN 博文视点名家讲坛之八活动记录

红色为主持人提出的问题!

 

瞿杰
现在技术的变迁实在快捷,就您看来,ASP.NET 2.0与ASP.NET 1.0最大的改变是什么?
ASP.NET 2.0在性能方面有很大改进,当然还有许多其他方面的内容,比如说配置架构方面增加了不少实用的东西,如URLMAPPING等,如今ASP.NET 2.0中对高级缓存管理也开始支持了,这些对于初学者来说还是很有帮助的
 
赵立东
ASP.NET太庞大了,让很多新手都无从下手。基本上每种问题都可以找出多少种解决方案,这时就根据经验做出选择,这种选择的智慧甚至比其他技术性的东西更重要。对基础知识的深入理解和丰富的开发经验很重要。当然对于新手一开始不可能要求太高,他们更重要的是学习基础知识,但实践是非常重要的。
 
黄忠成
学习.NET平台上的应用程序开发,初学者一上手就是ASP.NET、ADO.NET、WinForm,往往写了一个小应用程序出来,还不知道Framework为何物。那么初学者如何面对.NET Framework的学习?
hi 各位好,我是黃忠成,很高興跟各位在此聊天 ^_^ 任何Framework都有其基礎面及應用面,對於初學者來說,先由應用面切入,再逐步了解其基礎面,是一種較為平順的學習過程. .NET Framework來說,Collections 是一個很重要的基礎,這是所有人都必學的部份.
 
瞿杰
Web Part似乎出现在了越来越多的网页上面,您怎么看待这种技术以及相关的趋势呢?
Web Part主要是为SharePoint而作的开发,这种技术可以帮助我们把一个已经开发好的组件安装到任何一个支持web part的网站上,当然SharePoint是首选,应该说如果一家公司想让自己的开发在更多的地方应用就应该考虑多开发一些WebPart组件,这样才可以有效节省成本和人工
 
赵立东
ASP.NET 2.0真的成熟了吗?
随着时间的推移,人们随时会更新成熟的定义,从有编程技术开始,就从来没有一种技术可以宣称自己是成熟的。但另一方面,成熟也是一个相对的概念。至于ASP.NET的发展,基于上,从ASP.NET1.0开始,其底层架构已经定型,就像从升级到1.12.0,其底层机制没有什么变化,只是封装了很多常用的新特性,就像membership、母版页等,使得可以更简单快捷的开发web site这本身是由于服务器端和客户端的限制造成的,也就是说,如果服务器端(主要指IIS服务)和客户端(IE或其他浏览器)都没有什么太大变化,应用于其上的开发模型都是万变不离其宗。所以我认为不用急着赶潮流,搞明白事物的本质,就算它的花招再多,你也不用担心什么。
 
瞿杰
WPF出现以后,ASP.NET将何去何从?
WPF作为.NET Framework 3.0的重要组成部分将帮助微软占据一定的矢量图形市场的份额,应该说是对ASP.NET的补充,对于ASP.NET不会有太大影响,当然虽然应用的不断成熟,会有更多的功能取代ASP.NET,但要注意WPF/E并非WPF,由于呈现能力要远远弱于桌面版WPF,还无法与Flash相抗衡。
 
黄忠成
在自定义类型中实现IStateManager接口来负责管理自己的状态,能不能介绍一下StateBag的SetItemDirty方法?
SetItemDirty有兩種用法,一是將ViewState中某個Item設為Dirty,Item就會被序列化至ViewState,二是將某個ItemDirty設為Non-Dirty,這樣一來,StateBag將不會把該Item序列化到ViewState,後者是較為常用的技巧, 例如TextBox控件,TextBoxModePassword,就不會儲存Text屬性值到ViewState,這就是透過SetItemDirty來完成的.
 
瞿杰
最近网上出现很多对ASP.NET的负面评论,是否表明了ASP.NET的影响力在降低呢?
负面评论一直有,这个是公司对公司的战略,是出于商业目的的,我觉得随着ASP.NET 2.0地不断成熟会有越来越多的人选择ASP.NET。我觉得作为程序员不用太在意了,专注于自己喜欢的技术最重要!
 
赵立东
对于ASP.NET 2.0,初学者最应该从哪些方面的技术点来着手呢?
关于这个问题,我还想给初学者一些建议:在学习ASPNET的一项新特性时,最好能仔细想想其深层次的机制。重视MSDN,任何图书都不可能代替MSDN的作用,如果通读MSDN(只是相关内容或大部分相关内容)并能理解其中的道理,谁都可以成为专家。多动手,实现一个功能时想想有没有更好的办法,多研习大型开源项目的源代码,包括用反编译工具查看.NET类库的源代码
 
瞿杰
能否跨平台始终是大家心里一块心病,请问。NET最终有没有机会跨平台?
作为B/S架构的应用,跨平台主要是服务器这边考虑的事情,对于用户来说没有影响,而且作为系统方案选型,一般都会选择一种。当然如果一定要考虑跨平台方面的移植,可以考虑选择mono作为替补方案
 
瞿杰
也就是说,需要开发什么方面的功能,直接从网上找到相关的模块,简单配置一下即可完成大部分的功能。您怎么看待这个开发方式?ASP.NET是否也有可能出现相关的趋势呢?
嗯,这是软件发展一个好现象,说明软件已经开始走积木式的部署方案,这对于后期维护、部署成本下降是很有好处的。我觉得ASP.NET会有这样的趋势,但这需要一个过程,因为这对于技术的要求是很高的,要求做到松耦合,WebPart就是一种不错方案
 
赵立东
ASP.NET 2.0 应用与web开发,应注意的细节问题是什么?
在我看来,使用ASP.NET 2.0进行web开发,最重要的还是性能问题。随着VS2005的发布,使用ASP.NET2.0进行web开发已经越来越容易,以前可以要花费几天完成的功能,现在只需要拖几个控件,配置一下数据源即可。这种简单性所带来的后果是让初学者不去考虑它的性能问题。另一方面,我个人认为,ASP.NET通过消耗各种资源来实现他的简单性。
 
瞿杰
在PHP主导的Web开发领域,似乎已经出现了一种可配置的Web开发方式。
嗯,是的,php在这方面的确做得很好,有些东西要用ASP.NET实现需要定制很多东西,但用php因为是从底层开发的,自然会简单许多
 
黄忠成
福建省福州市铜盘路软件大道的卢俊祥问: 1、 ASP.NET总被许多人认为是中小企业的解决方案,在大型企业应用中,ASP.NET未来如何挑战Java EE在大型企业应用中的统治地位?
這必須看MSServer級軟件策略! 近年來MS所持續演進的ASP.NET 2.0,SQL Server,Report Services,BiztalkServer級軟件,都逐步的將ASP.NETIT 管理者的方向推進,這有助於增加其在大型企業軟件的競爭力,當然! 對於大型企業而言,軟件成本的考量是個很大的問題,J2EE在這方面擁有較高的優勢,畢竟其Open Source思想已成熟多年,MS 在這方面也做了一些努力,例如推出Visual Studio Express版本的開發工具,來促進.NET Open Source Project的發展.
 
瞿杰
ASP.NET 2.0真的成熟了吗?
这个问题比较大,任何一个技术都不可能在短时间内成熟,ASP.NET 2.0的确在很多方面有很大改进,并且由于基于provider模式提高了系统的可扩展性,这是原来ASP.NET 1.1很难做到的
 
黄忠成
.NET框架是讲诉的是什么思想,那在winform和ASP.NET中是怎么体现的
.NET Framework可分為四大部份, 一是底層的CLR, 二是基礎的BCL, 三是應用的FCL, 四是更高階的AF(Application Framework). 在定義上,WinFormASP.NET都屬於AF層級,她們營造出方便且快速的開發方式,讓程序員可快速的開發應用程式.
 
瞿杰
对于ASP.NET 2.0,初学者最应该从哪些方面的技术点来着手呢?
对于初学者,首先必须了解一些基本控件的用法,这点programming ASP.NET这本书讲得真得不错,而且有很多例子,初学者可以一步一步跟着学。还有就是配置方面,对于ASP.NET应用程序来说配置的影响可能会很大,搞清楚web.config是很有意义的。另外还要理解B/S架构的运行构成,一定要搞清楚哪些代码在客户端运行哪些在服务器端运行
 
赵立东
刚才有朋友提到了这种架构与ROR的理念的差别,也许这正是微软一贯的作风,毕竟,高精尖的东西只适合少数高手,出于商业考虑,照顾大众才是有利可图的。
 
学.NET,看完整的项目代码有效果吗?
赵立东
当然,首先要看知名的开源项目的源代码。不知名的、不开源的一律不看,看也基本上是浪费时间。建议访问www.sf.NET.有很多优秀的开源项目。看的时候不能仅限于代码一级,要能纵览全局,学习它的架构,类的设计。最好能看出解决问题的思路
 
从商业的角度考虑,J2EE定位在企业级应用,PHP在小型网站上有所作为。而ASP.NET的定位似乎有些模糊,各个领域都看得到它的身影。是不是可以认为什么它都能做,但都做不到最好?
黄忠成
這也可說,ASP.NET 於各個領域上都可以有不錯的表現,至於能否做到最好, 這得看程序員的功力了. 不過如果從商業策略的角度來看,ASP.NET 2.0所添加的許多便利功能來看,我倒認為MS有把ASP.NETIT 管理領域帶的意圖.
 
开发ASP.NET的Mis系统以来,老感觉自己丢失了一些东西,特别是对于很多底层技术的把握,WPF出现了,对于程序员来说他们能够做什么,拖拖拽拽就完成了一个系统。程序员的路该怎么走,系统设计以及扩展性该怎么来?
瞿杰
这就是ASP.NET本身的特点,表面上用起来很简单,门槛低,但遇到问题之后要解决却发觉少了点什么,有一些方面不明白。所以一定要深入理解ASP.NET的运行机制,包括SESSIONSTATE, ViewState的存储,控件生命周期等,这些东西都是必须掌握的! WPF/E刚刚出现,所以请不要过早的转向WPF的开发,而且由于WPF/E本身的限制,还无法达到想呈现什么就呈现什么的级别,所以还请慎重。当然WPF WINFORM还是很不错的,的确可以做出很漂亮的东西来,当然对系统要求很高。作为ASP.NET程序员,还是应该打好基础,.NET 3.0的东西可以一点点嵌入到系统中。
 
.NET 3.0 winform中对数据库的操作是不是资源性能方面更加优化呢?
瞿杰
不见得,作为基于.NET 2.0的扩展框架,虽然做了很多优化,但同时因为是更上层的东西,肯定会有一定的性能问题,当然MS在这方面已经做了很大努力,在美国总部又专门的PEFORMANCE TEAM负责对.NET 3.0的性能问题进行跟踪和解决。所以选择.NET 3.0一定要慎重
 
想问黄老师,在winform和ASP.NET中更擅长那个?
黄忠成
,去年此時,我剛開始引領一家公司開發WinForm程式,而今年,我則是引領另一家公司進行ASP.NET專案,如果硬要分出擅長的領域的話,我想是ASP.NET! 因為,WinForm的產品已經快完成了,今年的目標是做ASP.NET專案 ^_^
 
3.0的出现对智能客户端的发展有推进作用?
瞿杰
我觉得这个问题似乎比较难回答,因为智能客户端的概念本来就比较模糊,据我所知,智能客户端应该是能够自动更新、维护简单的架构,.NET 3.0肯定对智能化有帮助,但似乎不能放在一起比较。我建议你去学习一下Enterprise Library,这倒是微软推的一个不错的智能客户端解决方案。
 
赵立东提到的消耗资源以实现简单性,有点像中国人的办事方式。说起来就是用复杂的方法解决一些简单的方法,这种庞大的架构带来的技术文化刚好和ROR的理念走了两条不同的路线,请三位老师谈谈自己的看法。
赵立东
也许这正是微软一贯的作风,毕竟,高精尖的东西只适合少数高手,出于商业考虑,照顾大众才是有利可图的。首先微软满足了大部分人的胃口,同时,如果你能深入理解ASP.NET,几乎可以开发和任何其他技术媲美的web应用程序。
 
为什么我写的类的复用程度不高呢?怎么培养面向对象的思想?
赵立东
看一些设计模式和重构的书是很有帮助的。
 
在编写ASP.NET winform程序时,系统地分层是否可以一样的?
瞿杰
可以,同样有数据层和业务层,只不过实现不同而已,如果是从WinForm移植到WebForm的话,数据层和业务层如果封装的好是不需要改动的,改的是呈现层
 
在编写ASP.NET winform程序时,系统地分层是否可以一样的?
赵立东
如何分层与ASP.NET winform无关,也就是说,你可以开发出通用的分层构架,只是在部分细节问题区别对待就可以。我曾经设计过这样的分层结构。
 
为什么我写的类的复用程度不高呢?怎么培养面向对象的思想?
黄忠成
GOFDesign Patterns一書,應可對如何撰寫高複用類的觀念及作法有所幫助.
 
ASP.NET开发人员解决问题的能力底下,碰到超出Web Form的问题难以解决,开发人员远离基本的HTMLCSSJS。那么该如何增长这方面的知识和经验?
赵立东
ASP.NET开发人员应该掌握多方面的知识,HTMLCSSJS都是非常重要的。很难想像只会C#ASPNET开发人员会开发出强大的WEB应用程序。
 
 
黄忠诚老师我非常喜欢您的《Framework的设计与应用这本书》,请问您有计划出一本介绍ASP.NET的类似书籍吗 ?
瞿杰
恩,这本书真得不错!
 
黄忠诚老师我非常喜欢您的《Framework的设计与应用这本书》,请问您有计划出一本介绍ASP.NET的类似书籍吗 ?
黄忠成
有的 ^_^ 預計今年會做一本這類型的書籍.
 
老师,为什么ASP.NET中很少谈论MVC模式?
黄忠成
這倒不見得,因為Martin FowlerPOEAA一書中,就提到了MVCASP.NET中的運用,前年我在一場研討會中也講述了這個概念. 不過對初學者來說,MVC似乎是一個較難接受與理解的觀念.
 
老师您是《Programming ASP中文版第三版》的译者,目前市面上有那么多ASP.NET的书,是什么理由要我们去选择《Programming ASP中文版第三版》呢?
瞿杰
这个与出版社有关系,当时出版社邀请我参加翻译,我就参加了。不过这本书还是不错的,虽然基础了点,但对于广大的初学者来说的确是本好书,我觉得比国内的一些书要好很多,例子多,步骤详细,可惜太厚了,呵呵,当枕头不错 :)
 
老师,能谈谈您翻译《Programming ASP中文版第三版》的感受吗?
赵立东
能翻译这样一本ASP.NET领域的经典之作,我非常荣幸。我相信他能帮助初学者了解和认识ASP.NET2.0这个庞然大物。
 
作为初学者,看不太懂黄老师的《ASP.NET组件设计》和《Framework的设计与应用》,能请黄老师介绍一下如何去学习这两本书。
黄忠成
我建議在看ASP.NET組件設計一書時,先快速瀏覽第三章,不求立刻了解此章, 待全書看完後,再回頭複習,你會有不同的感受. Framework的設計與應用一書,則是希望讀者按部就班一章章的閱讀.
 
POEAA是什么书?
黄忠成
Patterns Of Enterprise Application Architecture.
 
福建省福州市铜盘路软件大道的卢俊祥问: 1 ASP.NET总被许多人认为是中小企业的解决方案,在大型企业应用中,ASP.NET未来如何挑战Java EE在大型企业应用中的统治地位?
瞿杰
之所以有这种说法是因为很多只会使用ASP.NET的基本功能,不懂得进行定制开发,所谓定制开发包括定制控件开发、定制架构开发、定制provider等等,有些东西用ASP.NET本身的东西很方面,但会有性能问题,这时候就需要定制开发来解决,当然这对于开发人员的要求是很高的
 
pet shop 中是不是应用的就是mvc的模式?要加强那方面的素质才能设计出那么好的软件架构?
黄忠成
近年來的Patterns書籍,GOF Design Patterns,Martin FowlerPOEAA, 都是將我們帶往設計好的軟件架構的好書.
 
能提供一些ASP.NET2.0方面开源项目研究下吗?
瞿杰
.Text(博客园使用的系统,ASP.NET 1.1时候就做得很成熟了)很经典的博客系统
 
能提供一些ASP.NET2.0方面开源项目研究下吗?
赵立东
petshop dotNETnuke communityserver log4NET nunit
 
 
主持人
黄忠成先生个人博客:http://blog.csdn.NET/Code6421 瞿杰先生个人博客:http://blog.csdn.NET/tonyqus 赵立东先生个人博客:http://www.cnblogs.com/lidong
 
关于架构问题,什么三层,还有四层的,请问老师们是怎样认识?偶想听听
赵立东
我认为并不是分层越多就越好,层多了,代码量就大了,维护起来也比较麻烦。现在可能大多数都属于数据库开发,经典的三层就够了(如果项目很小,一层也许更简单),我记得petshop中好像是4层,但只是演示而已,其中的业务外观层中看不中用。
 
关于架构问题,什么三层,还有四层的,请问老师们是怎样认识?偶想听听
瞿杰
层是架构师想出来的,其实是借鉴了TCP的模型结构。最经典的是三层架构,即数据层、业务逻辑层、呈现层。当然这个是看情况而定的,总的来说叫做n层架构,有一本VB.NET面向对象可复用程序就是讲这个的
 
主持人
最后,请三位老师用一句话表达一下对ASP.NET技术以及程序员祝愿!
黄忠成
ASP.NET 2.0加上ASP.NET Ajax,將是今年最閃亮的技術,祝福各位程序員能運用此技術,建造出更完美的網頁程式.
赵立东
最后,请三位老师用一句话表达一下对ASP.NET技术以及程序员祝愿!
祝同行的ASP.NET程序员都能成功!
瞿杰
祝大家写程序愉快 :) 痛苦并快乐着。。。
 
主持人
大家好,我是节目主持人张昊,请大家继续关注名家讲坛系列活动。
[2007-3-14 15:16:00]

抱歉!评论已关闭.