C# Module 1 認識microsoft.NET平台
Microsoft.NET平台(需要有.NET framework+作業程式)
Microsoft.NET平台的組成元件:
- ASP.NET平台(Web服務/ASP.NET網頁)支援網頁開發技術(後端)
- ADO.NET平台存取資料庫和XML文件
- 資料庫操作技術亦可分為
- LINQ或Lambda+Entity Framework
- ADO.NET
- 資料庫操作技術亦可分為
- Common Language Runtime(CLR)為執行程式的環境(目前只有2.0/4.0版本)
- Thread執行緒支援
- 型別檢查(Ex: 檢查溢位(最大正整數+1,會變成負數),可以前面加個checked序述檢查)
- 例外處理(處理錯誤)
- 偵錯引擎
- CIL to Native編譯程式(中間碼翻譯成二進位碼)
- Garbage Collecator(回收不再使用的程式碼)
- 類別庫 framework 為提供程式的功能(加密/解密/壓縮/解壓縮...)(目前.NET framework 4.5.1以上版本才有更新)
- Internet Information Server(IIS) Microsoft Web Server,功能佳,但很貴
Microsoft.NET平台的優點:
- 所有.NET平台支援的語言都使用相同的"類別"
- Time-To-Market時間短
- 容易擴充,可透過partial類別和extension方法擴充
- 遵循Web國際標準,安全性高
- Code Access Security (統一使用者權限)
- Role-Based Security(依使用者身份給予權限)
- Claim-Based Security(.NET3.0或更高版本適用) (依信物給予使用者權限)
- Claim-Based Security透過身份驗證機制,可直接登入Single Sign On(SSO),像是透過FB,G+登入
Microsoft.NET平台支援的語言:
- C#-專為.NET平台設計的新物件導向語言
- C++/CLI-擴充C++語言的功能,以便開發.NET平台的應用程式
- Visual Basic .NET-新版的Visual Basic語言
- F#-函數程式語言
- 協力廠商支援的語言
- Azure
- Python
- JavaScript
.NET程式/Java程式皆屬於跨平台應用程式,所以都不是二進位檔,也因此而容易被破解
.NET framework
- Windows
.NET Core (跨平台作業系統)
- Windows
- Linux
- OS Mac
Mono (開發行動裝置APP)
- Xamarin (Native) // open source
- Cordova (Hybrid)
視窗圖形使用者介面開發:
- .NET 2.0 (點陣技術)
- System.Windows.Forms
- System.Drawing(GDI+) (繪圖、列印技術)
- .NET 3.0 (向量技術,放大不會出現鋸齒)
- 使用Windosws Presentation Foundation(WPF) (視窗、繪圖、列印技術)