自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET Framework開(kāi)源好處分析

開(kāi)發(fā) 后端
.NET Framework開(kāi)源的發(fā)生,對(duì)于程序員來(lái)說(shuō)無(wú)疑是一個(gè)好的消息。它開(kāi)源后將會(huì)為開(kāi)發(fā)人員在實(shí)際編程中帶來(lái)非常大的利益。

.NET Framework終于將面向大眾進(jìn)行開(kāi)源。對(duì)于.NET Framework開(kāi)源,究竟能給我們帶來(lái)一些什么好處呢?一些.NET Framework的源代碼開(kāi)放了,基于MS-RL許可,并提供調(diào)試整合到VS 2008當(dāng)中了。從旁觀者的角度來(lái)說(shuō),這是Microsoft邁向開(kāi)放與社區(qū)化合作的一大步,很多人也把這當(dāng)作歷史性事件,然而對(duì)于一般的開(kāi)發(fā)者而言呢?這事情到底有多大影響力呢?#t#

我認(rèn)為對(duì)于開(kāi)發(fā)者來(lái)說(shuō),不同角色的開(kāi)發(fā)者遭受的影響是不同的,并且整體影響是導(dǎo)致分工繼續(xù)細(xì)化。.NET最內(nèi)層的本質(zhì)是什么?Microsoft曾經(jīng)非常引以為豪的COM,.NET只是這種思想一路實(shí)踐并且進(jìn)化而來(lái)的結(jié)果。

.NET最開(kāi)始設(shè)計(jì)為滿(mǎn)足RAD的需求,以便吸引使用其他語(yǔ)言、框架的程序員轉(zhuǎn)移過(guò)來(lái),然而開(kāi)放源代碼后RAD的程序員仍然是RAD的,這對(duì)他們幾乎沒(méi)有任何影響。想象你是一個(gè)習(xí)慣于拖放一切的ASP.NET開(kāi)發(fā)者,基本上不想寫(xiě)任何業(yè)務(wù)邏輯之外的代碼,數(shù)據(jù)訪(fǎng)問(wèn)層用Typed DataSet或者Linq to Sql搞定,界面用現(xiàn)成的Control和Extender,Microsoft這次提供的源代碼對(duì)你有什么意義嗎?

因?yàn)槟悴恍枰约壕帉?xiě)Control或者Extender,自然你不會(huì)花時(shí)間去了解有關(guān)的模式,也無(wú)須查看內(nèi)置控件的代碼。如果你調(diào)用內(nèi)置控件出問(wèn)題了,在Google以及調(diào)試內(nèi)置控件之間,你顯然會(huì)選擇前者。因此,對(duì)于習(xí)慣于RAD的程序員來(lái)說(shuō),開(kāi)放源代碼這件事是沒(méi)有任何直接影響的。

然而,.NET Framework開(kāi)源有些間接影響是不能忽略的。前面提到了使用Google搜索問(wèn)題的解決方案,然而Google自身并不懂得解決問(wèn)題,答案其實(shí)來(lái)自于其他已經(jīng)把問(wèn)題解決了的程序員,因此這些源代碼如果確實(shí)幫助了其他類(lèi)型的程序員解決了問(wèn)題,那么也就間接幫助了RAD程序員。

那么,還有哪些類(lèi)型的程序員呢?例如,做稍微底層一些工作的,編寫(xiě)Control、Extender、HttpHandler、HttpModule等可復(fù)用組件以便為自己或別人提供方便的。編寫(xiě)可復(fù)用組件最糟糕的地方就在于它是可復(fù)用的——你永遠(yuǎn)不知道別人會(huì)將它以什么樣的方式用在什么樣的環(huán)境,因此按照一定的模式開(kāi)發(fā)這些組件以便保證兼容性就很有必要,而模式本身***就參考自.NET Framework內(nèi)置的同類(lèi)組件,除非你想更大范圍地研究.NET Framework并重新發(fā)明輪子。

因此研究與模仿內(nèi)置組件的行為是組件開(kāi)發(fā)者的必修課,而從ScottGu文章(Releasing the Source Code for the .NET Framework Libraries)中的截圖看來(lái),內(nèi)置組件豐富的注釋將有助于程序員更輕松地理解其原本的設(shè)計(jì)方式,從而更輕松地在自己的組件中模仿內(nèi)置組件的行為。事實(shí)上,有很多內(nèi)置組件是設(shè)計(jì)為對(duì)另外一些內(nèi)置組件特別照顧的,這類(lèi)型的耦合在Reflector中閱讀代碼時(shí)是最難以理解的,如果閱讀有注釋的代碼相信會(huì)輕松不少。

***,.NET Framework開(kāi)源可能將會(huì)導(dǎo)致對(duì).NET Framework進(jìn)行純粹思想或理論作研究的人數(shù)增加。事實(shí)上,無(wú)論.NET Framework多么傾向于實(shí)用型,如果Microsoft需要獲取來(lái)自社區(qū)的創(chuàng)新思想,還是必須吸引一群思想家的,否則大多數(shù)的社區(qū)創(chuàng)新都只是應(yīng)用與應(yīng)用方法,Microsoft還是獨(dú)攬.NET Framework前進(jìn)方向的控制權(quán)。這種中央集權(quán)有它高效的地方,特別是發(fā)展初期,Microsoft能夠根據(jù)自己的實(shí)力戰(zhàn)略性地安排新特性的研發(fā)順序。

然而Microsoft也曾經(jīng)因此吃虧,例如ASP.NET 2.0沒(méi)能引入AJAX支持,直到***才急忙補(bǔ)上一個(gè)Callback特性,并承諾日后開(kāi)發(fā)完整的AJAX庫(kù)。因此,傾聽(tīng)來(lái)自社區(qū)的觀點(diǎn)很重要,而要求社區(qū)有觀點(diǎn)就必須先提供素材給他們討論,開(kāi)放源代碼將能夠激發(fā)社區(qū)對(duì).NET Framework開(kāi)源的研究熱情并且提供更多能夠作為反饋信息的新觀點(diǎn)。
因此,就.NET Framework開(kāi)放源代碼這樣一件事情而言,對(duì)于不同的開(kāi)發(fā)者其影響的大小是不同的。同時(shí)我們也能預(yù)期Microsoft本身肯定也是***的受惠者之一,否則以其智慧絕對(duì)不會(huì)做這樣一個(gè)決策。

責(zé)任編輯:曹凱 來(lái)源: IT168
相關(guān)推薦

2009-07-01 18:00:07

存儲(chǔ)虛擬化服務(wù)器

2010-01-05 10:24:16

.NET Framew

2009-11-17 10:29:39

.NET Micro

2010-01-06 13:50:37

.NET Framew

2009-11-03 16:27:43

ADO.NET Ent

2012-05-02 16:59:25

Linux

2009-12-23 17:50:38

ADO.NET Fra

2009-12-25 10:11:22

.NET Framew

2009-12-23 16:15:24

ADO.NET Ent

2012-07-20 10:38:25

Entity FramEF

2009-08-26 14:23:14

C#.Net Fram

2009-12-15 11:28:34

.NET Framew

2009-07-20 16:12:21

ASP.NET Fra

2010-01-06 18:27:06

.Net Framew

2010-01-05 13:32:36

.NET Framew

2010-01-06 13:41:51

.NET Framew

2009-08-26 14:52:19

.NET Framew

2009-07-09 09:28:19

.Net Micro

2010-01-06 18:21:24

2012-01-09 16:00:56

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)