C# Module 1 認識microsoft.NET平台

C# Module 1 認識microsoft.NET平台

 

Microsoft.NET平台(需要有.NET framework+作業程式)

Microsoft.NET平台的組成元件:

  1. ASP.NET平台(Web服務/ASP.NET網頁)支援網頁開發技術(後端)
  2. ADO.NET平台存取資料庫和XML文件
    1. 資料庫操作技術亦可分為
      1. LINQ或Lambda+Entity Framework
      2. ADO.NET
  3. Common Language Runtime(CLR)為執行程式的環境(目前只有2.0/4.0版本)
    1. Thread執行緒支援
    2. 型別檢查(Ex: 檢查溢位(最大正整數+1,會變成負數),可以前面加個checked序述檢查)
    3. 例外處理(處理錯誤)
    4. 偵錯引擎
    5. CIL to Native編譯程式(中間碼翻譯成二進位碼)
    6. Garbage Collecator(回收不再使用的程式碼)
  4. 類別庫 framework 為提供程式的功能(加密/解密/壓縮/解壓縮...)(目前.NET framework 4.5.1以上版本才有更新)
  5. Internet Information Server(IIS) Microsoft Web Server,功能佳,但很貴

Microsoft.NET平台的優點:

  1. 所有.NET平台支援的語言都使用相同的"類別"
  2. Time-To-Market時間短
  3. 容易擴充,可透過partial類別和extension方法擴充
  4. 遵循Web國際標準,安全性高
    1. Code Access Security (統一使用者權限)
    2. Role-Based Security(依使用者身份給予權限)
    3. Claim-Based Security(.NET3.0或更高版本適用) (依信物給予使用者權限)
      1. Claim-Based Security透過身份驗證機制,可直接登入Single Sign On(SSO),像是透過FB,G+登入

Microsoft.NET平台支援的語言:

  1. C#-專為.NET平台設計的新物件導向語言
  2. C++/CLI-擴充C++語言的功能,以便開發.NET平台的應用程式
  3. Visual Basic .NET-新版的Visual Basic語言
  4. F#-函數程式語言
  5. 協力廠商支援的語言
    1. Azure
    2. Python
    3. 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) (視窗、繪圖、列印技術)