導航:首頁 > 編程語言 > net編程思想

net編程思想

發布時間:2022-09-02 10:34:13

1. 什麼是.net程序設計

.NET Framework是新的Microsoft .NET平台的基礎結構。

.NET Framework是一個用來建立、配置和運行Web應用程序和Web服務的通用環境。

.NET Framework包含一個通用語言運行環境和通用類庫,如ADO .NET,ASP .NET和Windows表單,來提供可以被集成到各種計算機系統的先進的標准服務。

.NET Framework提供功能豐富的應用環境,簡化了開發並且使得在多種不同開發語言之間的集成更加容易。

.NET Framework具有語言中立性,目前它支持 C++, C#,Visual Basic和JScript (Microsoft版本的javaScript)。

Microsoft的Visual Studio.NET是一個用於新的.NET Framework的通用開發環境。
#(讀做 "C sharp")是微軟公司在去年六月發布的一種新的編程語言,並定於在微軟職業開發者論壇(PDC)上登台亮相.C#是微軟公司研究員Anders Hejlsberg的最新成果.C#看起來與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網路框架的主角.

微軟c#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點.C#在設計者從C++繼承的可選選項方面比Java要廣泛一些(比如說structs),它還增加了自己新的特點(比方說源代碼版本定義).但它還太不成熟,不可能擠垮Java.C#還需要進化成一種開發者能夠接受和採用的語言.而微軟當前為它的這種新語言大造聲勢也是值得注意的.目前大家的反應是:"這是對Java的反擊."

C#更象Java一些,雖然微軟在這個問題上保持沉默.這也是意料中的事情,我覺得,因為Java近來很成功而使用Java的公司都報告說它們在生產效率上比C++獲得了提高.

Java所帶來的巨大影響和大家對它的廣泛接受已經由工作於這種語言和平台之上的程序員數量明顯的說明了(估計世界范圍內共有兩百五十萬程序員使用Java).由這種語言寫成的應用程序的數量是令人驚訝的並已經滲透了每一個級別的計算,包括無線計算和行動電話(比如日本發明的Java電話).C#能夠在用戶領域獲得這樣的禮遇嗎?我們必須等待並觀望,就象已經由SSI公司的CEO和主席Kalpathi S. Suresh指出來的那樣,"我發現所有這些都是漸進的.如果C#不存在,我們總能回到Java或C和C++.這些都不完全是新技術;它們在更大的意義上來說只是大公司製造的市場噱頭.我們必須給他們時間安頓下來看看這些是不是真的對IT工業有什麼影響."
C++,這個詞在中國大陸的程序員圈子中通常被讀做「C加加」,而西方的程序員通常讀做「C plus plus」,它是一種使用非常廣泛的計算機編程語言。C++是一種靜態數據類型檢查的,支持多重編程範式的通用程序設計語言。它支持過程序程序設計、數據抽象、面向對象程序設計、泛型程序設計等多種程序設計風格。

貝爾實驗室的本賈尼·斯特勞斯特盧普(w:en:Bjarne Stroustrup)博士在20世紀80年代發明並實現了C++(最初這種語言被稱作「C with Classes」)。一開始C++是作為C語言的增強版出現的,從給C語言增加類開始,不斷的增加新特性。虛函數(virtual function)、運算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、RTTI、名字空間(name space)逐漸被加入標准。1998年國際標准組織(ISO)頒布了C++程序設計語言的國際標准ISO/IEC 14882-1998。遺憾的是,由於C++語言過於復雜,以及他經歷了長年的演變,直到現在(2004年)只有少數幾個編譯器完全符合這個標准。

另外,就目前學習C++而言,可以認為他是一門獨立的語言;他並不依賴C語言,我們可以完全不學C語言,而直接學習C++。根據《C++編程思想》(Thinking in C++)一書所評述的,C++與C的效率往往相差在正負5%之間。所以有人認為在大多數場合C++ 完全可以取代C語言。

C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向對象語言,並且憑借著接近C語言的效率,在工業界使用的開發語言中占據了相當大份額;第二階段從1995年到2000年,這一階段由於標准模板庫(STL)和後來的Boost等程序庫的出現,泛型程序設計在C++中占據了越來越多的比重性。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的沖擊;第三階段從2000年至今,由於以Loki、MPL等程序庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最復雜的一員。

2. 怎麼學習軟體開發的 .NET 體系

步驟/方法
學習面向對象(OOP)的編程思想許多高級語言都是面向對象的編程,.NET也不例外。
如果您第一次接觸面向對象的編程,就必須理解類、對象、欄位、屬性、方法和事件、封裝、繼承和多態性、重載、重寫等概念。
選擇一門語言,學習語法及相關基礎知識選擇語言的標准:根據你自己的需求和個人的技術背景。
在.NET平台下,C#、VB.NET都是調用Framework的類庫,效率基本一樣,C#的語法嚴謹,適合以前C++、VC的程序員。VB.NET不區分大小寫,寫法隨意一些.,自動縮進,適合以前VB的程序員,微軟也一再提倡用VB.NET進行快速開發。VC++.NET更接近底層,可以用託管和非託管兩種方式進行編程。選擇了需要使用的語言後,我們需要了解語言的語法規則,包括語句、類型、表達式、運算符、函數等等,我建議一開始寫程序就要養成良好的編程風格,規范地進行變數的命名,在代碼中寫好注釋。這對以後的軟體開發生涯都是很有意義的。
3
理解.NET思想並熟悉框架類庫(Framework Class Library)我們借用一幅圖來說明一下公共語言運行庫(CLR)、框架類庫(FCL)與應用程序之間以及與整個系統之間的關系。
首先,我們要了解公共語言運行庫、程序集、通用類型系統的概念。在此基礎上,學習.NET框架類庫。.NET 框架類庫是一個與公共語言運行庫緊密集成的可重用的類型集合。.NET 框架類庫封裝了大部分Win32 API ,許多以前需要調用API才能實現的功能,在.NET下非常容易就實現,許多情況下只需要一句話就足夠了。所以,我們在程序設計的時候要盡量避免調用Win32 API。學習.NET 框架類庫的捷徑:掌握常用的類庫,其它不常用的類庫只需要了解,用到的時候查閱即可。
4
我建議初學者從Windows Forms或者是Web Form開始,等有一定的基礎之後,再轉向寫類庫或是控制項、組件方面的東西。微軟的幫助文檔里自帶許多示例,我們可以一邊看幫助,一邊進行演練。在學習其中的代碼的同時,一定要理解和思考。多寫代碼、從項目中鍛煉是編程高手的成長之路。

3. ASP.NET的編程思想是什麼

你應聘了一個愚蠢的公司,他們只懂得考察理論,不懂得考察技術

狗屁理論知道的再多,不會寫代碼有什麼用...公司的老版夠蠢

======================

現在的主流編程思想無非兩種:結構與面向對象。
在asp中我們完全採用的是結構化思想。
asp.net可以完全支持面向對象的編程思想,這不得不說是一個質上的飛躍。

4. .net和java的編程思想的差別

沒什麼差別,發展到後來基本一個套路,從面向對象到面向介面。

5. 請解釋一下 什麼是JAVA 什麼是.NET

簡單來講,JAVA是現在使用比較廣的面向對象的一種編程語言而已,JAVA分為四個方向,J2SE、J2EE、J2ME、JAVA
CARD(這個方面很少有人能接觸到,因為是給智能機器人開發程序的),其實JAVA推出的時間很早,但是因為當時太超前了,幾乎胎死腹中,直到JAVA技術讓網頁中的圖像動起來後才得到人們的重新認識,JAVA當初的設計想法很簡單,語法簡單,快速開發,功能強大,但是JAVA發展到今天,卻變成了,開發速度較為緩慢、維護成本高、語法復雜,功能強大了....
.NET而是微軟的一種戰略計劃,.NET的思想是為了企業的快速開發和底成本的維護而生的,從開發速度和維護成本上來是說.NET要比JAVA快很多,但是開發工具也有微軟自己的IDE而已,而且不能跨平台(個人認為:不是不能跨平台,而是微軟不想,在現在LINUX和JAVA滿天飛的情況下,微軟如果吧.NET平台也弄成可以塊平台的,無疑給自己找麻煩),也制約了.NET可以完成的一些項目,.net是一個微軟的稱呼,實現語言包括J#(j#因為模仿JAVA,被SUN告了,新版本的VS幾乎沒有對J#作更新)、vb、c#、VC++。

6. asp.net的核心是什麼

HttpContext
該對象是最重要的核心對象。
屬性:HttpRequest、HttpResponse、靜態屬性HttpContext.Current、Server、Cache
補充屬性User, Items
User屬性保存於當前請求的用戶身份信息。如果判斷當前請求的用戶是不是已經過身份認證,可以訪問:Request.IsAuthenticated這個實例屬性。
Items這是個字典,因此適合以Key/Value的方式來訪問。如果希望在一次請求的過程中保存一些臨時數據,那麼,這個屬性是最理想的存放容器了。 它會在下次請求重新創建,因此,不同的請求之間,數據不會被共享。
如果希望提供一些靜態屬性,並且,只希望與一次請求關聯,那麼建議藉助HttpContext.Items的實例屬性來實現。

HttpRequest,
使 ASP.NET 能夠讀取客戶端在 Web 請求期間發送的 HTTP 值。
在HttpRequest包含的所有輸入數據,QueryString, Form, Cookie,請求頭,(ip,hostName,MacAddress) ,瀏覽器的相關信息、請求映射的相關文件路徑、URL詳細信息、請求的方法、請求是否已經過身份驗證,是否為SSL等等。
大量的屬性如:IsAuthenticated、HttpMethod 、QueryString、Form 、Files、Cookies、InputStream(輸入流)、Headers 、Path、Browser 、RawUrl 、MapPath、FilePath、Url 、Params、ApplicationPath、 、Filter 等等。

HttpHandler、HttpMole
HttpMole檢查請求,
HttpHandler處理事件

HttpResponse
向客戶端返回結果。所有需要向客戶端返回的操作,都要調用HttpResponse的方法。
如:響應頭、響應流。
擁有屬性:StatusCode 、ContentType、Cookies 、OutputStream(輸出流)、Cache 、Filter 等
方法:
AppendHeader()

Write()

End()

Redirect()

TransmitFile()
在服務端發生異常不能返回正確結果時,設置StatusCode屬性,比如:Response.StatusCode = 500,可以激活客戶端的ajax回調方法:error:function(){alert("伺服器出錯!")}
HttpRequest和HttpResponse的Filter,這個屬性實現的效果就是裝飾器模式,你可以對輸入輸出流進行裝飾。

HttpRuntime,
下有:HttpRuntime.Cache緩存。Page.Cache或者HttpContext.Cache都是對它的引用。
HttpServerUtility
下有:HtmlEncode()方法,用於防止注入攻擊,它負責安全地生成一段HTML代碼。
HtmlAttributeEncode(),它也是用於防止注入攻擊,安全地輸出一個HTML屬性。
JavaScriptStringEncode(),也是為了防止注入攻擊,安全地在服務端輸出一段JS代碼。
UrlEncode()方法,對url進行編碼。
HtmlDecode(), UrlDecode()用於解碼。
Execute()此方法用於,獲取一個頁面或者用戶控制項的HTML輸出時很有用。

HttpApplication
當HttpContext對象創建以後,HttpRuntime將隨後創建一個用於處理請求的對象,這個對象的類型就是HttpApplication。
HttpApplication有19個標准事件
BeginRequest,這個事件標志著伺服器處理工作的開始。
開始處理請求後,第一個工作就是要驗證用戶的身份以實現安全機制
通過AuthenticateRequest和PostAuthenticateRequest兩個事件處理
AuthenticateRequest 驗證請求,一般用來處理取得請求的用戶信息
PostAuthenticateRequest 已經獲取請求的用戶信息
第四個事件AuthorizeRequest觸發的時候,表示進行用戶許可權的檢查工作
第五個事件則標志著完成了用戶許可權的檢查工作
如果用戶沒有通過安全檢查,一般情況下,將跳過剩下的事件,直接觸發最後一個事件結束處理。
ResolveRequestCache事件標志著檢查緩存
PostResolveRequestCache 表示緩存檢查的結束。
(這個地方比較特殊,如果有緩存的話,是不是就立即給用戶返回結果了呢?)

在ASP,NET中提供了許多處理程序,程序員也可以自定義處理程序,為了處理這個請求,ASP.NET必須按照匹配規則找到一個處理當前求情的處理程。
PostMapRequestHandler事件標志ASP.NET已經獲得了這個處理程序對象,HttpContext的Handler就表示這個處理對象。
為了獲取用戶以前保存的數據,AcrequireRequestState事件給程序員提供了一個切入點,PostAcrequireRequestState 則表示已經獲取了用戶的數據,可以在處理中使用了。
接下來就是PreRequestHandlerExcute真正開始告訴程序員處理程序就要開始工作了。如果用戶的狀態已經獲取,還有需要在處理程序處理之前進行的工作,就在這個事件中開始吧。
PreRequestHandlerExcute事件之後,ASP.NET伺服器將通過執行處理程序完成請求的處理工作,這個處理程序可能是一個Web窗體,也可能是一個Web服務。

處理程序完成後,伺服器開始掃尾工作,PostRequestHandlerExcute 通知程序員,ASP.NET伺服器的處理程序已經完成。

第12個事件是個重要的節點啊!

ReleaseRequestState事件通知程序員釋放在處理程序中操作的特殊數據,PostReleaseRequestState則表示已經釋放完成。
如果希望將這次處理的結果緩存起來,以便於在後繼的請求中可以直接使用這個結果,UpdateRequestCache 提供了處理的機會。
PostUpdateRequestCache 則表示緩存已經更新完成。
以上16個事件結束了,還剩下三個事件。

17 LogRequest 請求的日誌操作
18 PostLogRequest 已經完成了請求的日誌操作
19 EndRequest 本次請求到此結束

應用程序域創建完成之後,一個ISAPIRuntime對象被創建,並自動調用它的ProcessRequest()方法。
創建一個HttpWorkerRequest對象,調用ISAPIRuntime對象的StartProcessing()方法,開始HTTP Pipeline,一個HttpRuntime類型的對象被創建,HttpRuntime對象調用ProcessRequest()方法,創建了一個HttpContext對象。HttpContext 對象包含了在編程中非常常見的HttpResponse(返回給瀏覽器處理過的信息)和HttpRequest(獲得Http請求信息) 兩個對象。

HttpMole對象:在初始化HttpApplication對象時被初始化,一個HttpApplication 可以有多個HttpMole對象,HttpMole對象的主要職責就是在不同時期把相應的事件注冊到HttpApplicatioin事件當中去。比如完成身份驗證,授權,操作緩存等。Asp.Net MVC UrlRouteMole路由模塊就是重寫了HttpModele

HttpHandler對象:在初始化HttpApplication對象時被初始化,一個HttpApplication可以有多個HttpHandler對象,HttpHander負責最終處理Http請求。不同的文件有不同的HttpHander負責處理。Asp.Net MVC MvcHandle完成了最終處理。

7. net與php的區別和優勢

優勢:微軟公司推出的跟微軟操作系統結合起來的開發語言,兼容性要高於其它語言。

區別如下:

一、指代不同

1、net:微軟下一代的操作平台,允許人們在其上構建各種應用方式,使人們盡可能通過簡單的方式,多樣化地、最大限度地從網站獲取信息,解決網站之間的協同工作。

2、php:即「超文本預處理器」,是一種通用開源腳本語言。

二、特點不同

1、net:在繼承C和C++強大功能的同時去掉了一些它們的復雜特性(例如沒有宏以及不允許多重繼承)。

2、php:由於PHP的解釋器的源代碼是公開的,所以安全系數較高的網站可以自己更改PHP的解釋程序。另外,PHP 運行環境的使用也是免費的。


三、優勢不同

1、net:使得C++程序員可以高效的開發程序,且因可調用由 C/C++ 編寫的本機原生函數,而絕不損失C/C++原有的強大的功能。

2、php:可以與很多主流的資料庫建立起連接,如MySQL、ODBC、Oracle等,PHP是利用編譯的不同函數與這些資料庫建立起連接的,PHPLIB就是常用的為一般事務提供的基庫。


8. vb和vb.net是一樣的嗎有什麼不同

1、從OOP概念上講,VB不是一個真正的面對對象的語言,他不支持繼承等一些面對對象的特性,而VB.net是一個面對對象的語言,支持這些特性

2、VB和VB.net都可以用來網路編程的,這點可以肯定,兩者都有這個功能
VB是通過控制項進行網路編程,而VB.net可以通過VB的控制項,也可以是用.net框架提供的system.net命名空間下的所有的類

3、正確理解VB.net中的.net,.NET 是微軟推出的一種新的編程思想和模式,對於網路提出了一個新的概念(當然功能有了很大的革新),微軟在.net 框架中規定了通用語言規范,只要符合這個規范,都可以利用.net強大的功能來完成任務,比如delphi.net ,他是.net和通用語言規范結合的產物,.net 框架提供了好多功能,簡單列出一些命名空間
System 包含所有的數據類型和...
System.IO包含Windows文件,數據流的訪問操作和...
System.Net包含網路有關的各種協議TCP,UDP等等和...
System.Text包含字有關的,比如經典正則表達式
System.Data包含訪問數據的所有的類
System.Web包含Web有關的,比如Web Services的新概念
System.Drawing包含GDI+的所有功能,可以繪制圖形
System......等等
當然還包括Microsoft.VisualBasic等微軟產品的系列的命名空間

這些命名空間可以用於所有.net的應用程序,比如可以用System.Drawing包含GDI+的所有功能來Web上動態的設計圖表
而實現它就可以用VB.net的語言

4、可以寬泛的來解釋就是:VB.net=VB(OOP)+.net

5、VB.net的運行方式和VB不同,比如VB就是通過一個DLL動態鏈接庫文件來編譯的,而VB.net是先生稱MSIL(微軟中間語言)代碼,然後通過通用語言運行時,將MSIL繼續編譯生成更好更高效的代碼。這位朋友可以試著用一下.net下的vbc.exe編譯工具,寫個小程序編譯下試試

6、兩者語法相同,但有少許差異,VB.net的運算符和一些錯誤處理機制多了一些

7、VB和VB.net最擅長用於快速開發,不需要太過於考慮性能的快速開發,但是VB.net和其他語言的功能天生是相等的,現在的VB.net用於Web應用程序,WinForm應用程序開發的情況就比較多,而其他應用我不是很了解或一時想不出來,我有個朋友就是用.net做嵌入式開發的,但他們公司也用.net 做3G開發

8、狗屁六級的vrhero,「VB.NET也是VB」還在這兒放這么多廢屁,這樣的人就是沒事找抽型 把你的6個問題也給解釋一下,1、smalltalk是純粹的OOP語言,Java %90的OOP,VB不支持OOP的特性,所以不完全是,夠明白了吧2、完全不知所雲---我寫的這些不是拷過來的,不能說我不知所雲3、我只是把我經常用到的命名空間告訴這位朋友不為過4、誤人子弟,屁話5、屁話6、筆誤,是我的錯7、你用VC++開發web給我看看,相比VB.net和C#看看那個快,各種語言都各有所長,不是我說的,微軟.net系列清華出版的這么多書,那本不都有說明嗎?你補充的那幾句,學過.net的人都知道,沒有實用價值。
「除了語法和使用習慣的繼承,VB 6.0之前的版本和VB 7.0之後的版本完全沒有聯系,幾乎沒有相同之處,兩種不同體系的語言」和「VB.NET也是VB 」這種自相矛盾的話,就認為這位高級經理是大腦發熱,筆誤吧!

閱讀全文

與net編程思想相關的資料

熱點內容
程序員勇敢的第一步 瀏覽:159
安卓車載音樂什麼格式 瀏覽:431
rin演過的電影 瀏覽:148
telnet命令登陸 瀏覽:328
不同文件夾名字怎麼找 瀏覽:242
邵氏風花雪月老電影 瀏覽:997
php多表批量導入 瀏覽:50
免費理論電影大全 瀏覽:874
法國兩男一女電影 瀏覽:292
有一部電影叫什麼湖泊 瀏覽:83
大尺度電影床戲視頻 瀏覽:672
壓縮機線圈燒了可以修嗎 瀏覽:783
cctv5加密收費嗎 瀏覽:211
理財app關閉該怎麼辦 瀏覽:452
伺服器如何配置多個https域名 瀏覽:86
怎樣製作文件夾的中文翻譯 瀏覽:518
泰劇大尺度影片 瀏覽:730
為什麼python適合做演算法 瀏覽:810
新疆政務服務app中如何實名認證 瀏覽:224
重生成小孩 瀏覽:104