程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 對.net技術組件的分析和選擇,.net技術組件

對.net技術組件的分析和選擇,.net技術組件

編輯:C#入門知識

對.net技術組件的分析和選擇,.net技術組件


.net很龐雜,學習最忌諱什麼?為了學而學,而不是為了用而學。我們不是為了成為教師,所以不要成為書呆子,不要成為”博士“,要從龐雜的技術群中選擇自己需要的內容進行學習。

如果不加選擇,一股腦的去學,這種”參考書式“學習接觸一堆信息,不假思索,結果只會培養一個萬事知曉,卻不擅長運用的人。要思考技術的構成,想想怎麼運用組合,將零散的技術有機構成一個整體,這樣才是有目的,為運用而學。

首先是語法類的技術要點分析。眾所周知,算法+數據結構=程序,這個公式是最基礎的概念,但是現代語言為何卻不是這種簡單的構成模式,反而增加了很多”不相干“的內容?那些內容是什麼?

我認為所有不相干的內容,實質就是”約定“,”約定“的目的是為了協作,是為了人與人之間的交流,而不是程序的運行機體。現代語言,關注的不是程序本身,而是強調人與人之間的溝通。請謹記這點。

因此,我將語言學習分成三個主要部分,1.約定,2,算法,3,數據結構。

.net不是一個語言,他主要特點是包含了一個龐大的類庫,但是類庫重點在於知其功能,學習上較為簡單。

何謂”算法“,就是構成運行機理的部分。如:變量,流程控制結構,枚舉,表達式。這些部分幾乎每一種語言都不會有太大的差別,變量存儲中間數據,表達式進行運算,控制結構執行選擇,重復操作,枚舉這些標明常量。高級內容包括異常控制,異步編程。

差異大的部分是”約定“,比如入口函數main就是一個約定。還有組織約定:命名空間。甚至標識符的組成要求,都算是一種約定。有一些約定是強制性的,有一些約定是非強制性的,比如”注釋“是一種非強制性的約定,它只是告訴閱讀者這是什麼,而不對程序本身產生任何影響。要記住,”約定“的主要目的就是人與人之間的交流,所以”注釋“也是強化交流的一個方式,應該視為寫程序的一部分。

相對於“注釋”,“單元測試”和“代碼協定”提供強制的規格保證,

類型是一個約定,提供一個使用的界面。object公共基類也是一個標准的界面。類型可以擴展,增加新的實現和界面。但是更加純粹的界面是”接口“。一般基於接口編程,將類型視為具體實現來簡化認知。

泛型是比單一類型更寬的界面,因此應該首先考慮這一技術。泛型接口是.net提供的最強大的界面。

何謂”數據結構“,即數據單元的有機集合,不同集合有不同的構成方式,這就是”結構性“,”結構性“產生了對應的高效率算法設計。因此”算法+數據結構“是雙輔雙成的,因為算法的需要所以選擇某一數據結構,也因為結構的特性,選擇某一算法設計。

簡單的數據結構是數組,.net中的數據結構實現,一般都實現了”枚舉器“接口IEnumerator,這是一個關於數據結構的高層界面。.net已經提供大量的數據結構實現供我們使用。它們是“集合”類型的子類,同時還有並行版的兄弟類。

重點說一下“類”,類是一種約定,一個規格描述和界面,包含豐富的內涵。首先包含數據成員,函數成員,還有成員的訪問權限控制,生存期控制,資源控制,可擴展性控制,書寫方式控制(語法糖),類型轉換,運算符支持。特性非常多,要考慮不同的特性組合,來書寫代碼。

類是一個高級界面,有很多控制特性,而“委托”就相對簡單,它只是對應函數的界面。基於委托變量,“事件”提供了一個特殊的運用界面,它標明自身將引發事件,而由調用方提供處理事件的函數。這在類中,不同於一般的數據成員,也不同於函數成員。

.net中有三個特殊的組成部分,1.linq,2.lambda,3.正則表達式。這三個屬於“語言”,也就是和c#是同類性質的。linq專職數據結構的查詢,lambda是表達式,用來強化c#的語言功能,而正則表達式專職字符串的處理。

然後,龐雜的.net剩下的就是比較容易掌握的類庫,如:集合,動態語言擴展,反射,安全,互操作,文件和注冊表,事務處理,網絡,windows服務,本地化,xaml,MEF,winrt,ado.net實體框架,xml,wpf,asp.net,wcf,wf,p2p,消息隊列,事件日志等。

總結:

.Net學習分五類:1.約定, 2.算法, 3.數據結構,4.類庫,5.部署。

約定包含:注釋,單元測試,代碼協定,類型,委托,事件,接口,泛型,命名空間,程序集和入口;其中類型包含數據成員和函數成員,運算符和轉換等。

算法包含:一般表達式,匿名類型,lambda,linq,正則表達式,一般流程控制語句,異常控制語句,異步編程。

數據結構包含:數組,枚舉器,集合等。

類庫包含:集合,wpf等。

我的選型:

算法和數據結構的是基礎。

約定類可以強化協作性,規范性。

類庫應該進行選擇,我選擇是wpf, xaml做界面,集合和ado.net實體框架做數據處理與存儲,wcf做客戶端之間的通信,消息隊列做客戶端之間的協調,wf定制工作流,而winrt做跨平台的基礎類庫。


添加Objects NET組件到VS2010工具箱時NET Framework 組件的選項卡中找不到Workspace、MapControl組件?

在有的安裝不理想的情況下,需要將組件手動添加到工具箱中。
1、如果在工具箱中沒有對應的選項卡,先新建一個;
2、對新建的選項卡右鍵,選擇並進行“選擇項”的添加;
3、在彈出的窗口中選擇“.NET Framework組件”標簽,選擇添加你所需的Workspace、MapControl等組件 或者通過“浏覽”按鈕,加載Workspace、MapControl組件所在的dll文件,然後再添加。

不知道你的問題具體是不是這樣的,希望能幫到你。
 

對於JAVA 與NET 的選擇

樓上,copy過來的東西未必是准確的。

目前有實力的大公司大多用.Net,技術標准比較統一,並且開發速度快。
小公司由於資金問題和技術更新問題,用Java的比較多。

語言方面,都是一樣的,C#就是Java的翻版。
技術方面也都差不多一一對應,總之學起來難度差不多。

目前Java找工作面要廣一些,但兩者都很火,只要水平不差,容易找工作。

若從前景考慮,我還是推薦你學.Net,畢竟是微軟產品。何況現在有一批公司在從Java往.Net轉。

個人認為,按目前的趨勢發展,Java熱和.Net熱都維持不了五年。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved