文章

30天的.Net教學課程

這是一個為期30天的Dotnet教學課程設計,每一天將包含不同的主題,讓學習者逐步了解並掌握Dotnet技術。


第 1 天:.Net 簡介與安裝

  • 課程簡介:了解 .NET 平台的歷史與用途
  • 安裝 .NET SDK、Visual Studio Code 或 Visual Studio
  • 建立第一個 .NET Console 應用程式

第 2 天:理解 C# 與其基礎語法

  • 課程簡介:介紹 C# 的基本結構與語法
  • 認識命名空間、Main 方法、程式入口
  • 基本輸入與輸出操作

第 3 天:變數與資料型態

  • 變數的宣告與賦值
  • 資料型態(int、string、bool 等)
  • 變數作用域與命名規範

第 4 天:條件判斷與控制流程

  • ifelse 條件判斷
  • switch 語法
  • 三元運算符的使用

第 5 天:循環與迴圈語法

  • forwhiledo-while 迴圈
  • breakcontinue 的使用
  • 巢狀迴圈與迴圈控制

第 6 天:方法與函數基礎

  • 方法的宣告與呼叫
  • 傳遞參數與返回值
  • 方法的重載(Overloading)

第 7 天:物件導向程式設計 - 概念與應用

  • 物件與類別的基本概念
  • 如何定義類別、屬性與方法
  • 類別的實體化與使用

第 8 天:類別與物件

  • 建立類別與建立物件
  • 使用屬性與方法
  • 類別的封裝與屬性封裝的技巧

第 9 天:繼承與多型

  • 繼承(Inheritance)的概念
  • 方法覆寫(Override)與多型(Polymorphism)
  • 使用 virtualoverride 關鍵字

第 10 天:介面與抽象類別

  • 介面的定義與實作
  • 抽象類別與介面的區別
  • 多重介面實作

第 11 天:例外處理

  • try-catch 語法與例外捕捉
  • 自定義例外類別
  • 使用 finally 進行資源釋放

第 12 天:集合與陣列

  • 一維與多維陣列的操作
  • 使用 List<T>Dictionary<T, K> 等集合
  • 集合的遍歷與查詢

第 13 天:Lambda 表達式

  • Lambda 表達式的概念與語法
  • 使用 Lambda 進行簡潔的運算
  • 與委派(Delegates)的搭配使用

第 14 天:LINQ 基礎

  • LINQ 查詢語法
  • 使用 LINQ 進行資料篩選與轉換
  • 進階 LINQ 操作

第 15 天:檔案操作

  • 檔案的讀寫操作(StreamReaderStreamWriter
  • 使用 File 類別進行檔案管理
  • 檔案異常處理

第 16 天:資料庫連接(使用 Entity Framework)

  • Entity Framework Core 的安裝與設定
  • 建立資料庫模型與資料庫遷移
  • 使用 LINQ 進行資料庫查詢

第 17 天:資料庫基本操作

  • 增加、刪除、更新與查詢操作(CRUD)
  • 使用資料庫上下文(DbContext)
  • 探索延遲載入與立即載入

第 18 天:建立 Web API

  • 建立一個簡單的 Web API
  • RESTful API 的概念
  • API 路由與控制器的設定

第 19 天:ASP.NET MVC 架構

  • 認識 MVC 模型(Model-View-Controller)
  • 設定 MVC 應用程式架構
  • 建立控制器與視圖

第 20 天:ASP.NET Core 與基礎設定

  • ASP.NET Core 專案的基本設定
  • 中介軟體(Middleware)管道設計
  • 配置 appsettings.json

第 21 天:ASP.NET Razor Pages

  • Razor Pages 基本概念
  • 建立與管理 Razor Page
  • 使用 Razor 表單進行資料輸入與提交

第 22 天:中介軟體與服務注入

  • 什麼是中介軟體(Middleware)?
  • 中介軟體的創建與註冊
  • 依賴注入(Dependency Injection, DI)的基礎與實踐

第 23 天:建構前端與後端交互應用

  • 使用 JavaScript 與前端框架(如 Vue.js 或 React)來構建動態介面
  • 與後端 Web API 的交互
  • JSON 資料處理與解析

第 24 天:驗證與授權

  • ASP.NET Core Identity 設定
  • 建立使用者註冊與登入功能
  • 角色管理與權限設計

第 25 天:部屬與發布(IIS 與 Azure)

  • 使用 IIS 部屬 ASP.NET 應用程式
  • 部署至 Azure Web App
  • 設定應用程式日誌與監控

第 26 天:單元測試與測試驅動開發 (TDD)

  • 單元測試的基本概念與目的
  • 使用 xUnit 進行單元測試
  • 測試驅動開發(TDD)流程介紹

第 27 天:效能最佳化

  • 應用程式的效能分析與優化技巧
  • 使用 AsyncAwait 提升效能
  • 緩存技術的使用

第 28 天:記錄與監控

  • 使用內建的日誌功能記錄應用程式狀態
  • 設定 Serilog 或 NLog 進行日誌管理
  • 使用 Azure Application Insights 進行應用程式監控

第 29 天:持續整合與交付 (CI/CD)

  • 持續整合與交付的概念與流程
  • 使用 GitHub Actions 或 Azure Pipelines 建立 CI/CD 管道
  • 自動化構建、測試與部署

第 30 天:總結與實作專案

  • 總結前 29 天的學習內容
  • 完成線上書籍管理系統專案
  • 部署專案並實作 CI/CD 流程

.Net 進階設定與技巧

  • .Net 高級配置檔案管理
  • 使用Dependency Injection (DI) 實現靈活的架構
  • 採用分層架構、AutoMapper、高效能的資料庫操作與查詢優化
  • 使用 SignalR
  • 實現即時通訊功能
  • 微服務架構

每一天的學習內容循序漸進,涵蓋了 Dotnet 開發的核心技術與進階應用。通過 30 天的學習與實作,將有助於你全面掌握 Dotnet 開發技巧並完成一個完整的專案。

本文章以 CC BY 4.0 授權