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 天:條件判斷與控制流程
if
、else
條件判斷switch
語法- 三元運算符的使用
第 5 天:循環與迴圈語法
for
、while
、do-while
迴圈break
和continue
的使用- 巢狀迴圈與迴圈控制
第 6 天:方法與函數基礎
- 方法的宣告與呼叫
- 傳遞參數與返回值
- 方法的重載(Overloading)
第 7 天:物件導向程式設計 - 概念與應用
- 物件與類別的基本概念
- 如何定義類別、屬性與方法
- 類別的實體化與使用
第 8 天:類別與物件
- 建立類別與建立物件
- 使用屬性與方法
- 類別的封裝與屬性封裝的技巧
第 9 天:繼承與多型
- 繼承(Inheritance)的概念
- 方法覆寫(Override)與多型(Polymorphism)
- 使用
virtual
與override
關鍵字
第 10 天:介面與抽象類別
- 介面的定義與實作
- 抽象類別與介面的區別
- 多重介面實作
第 11 天:例外處理
try-catch
語法與例外捕捉- 自定義例外類別
- 使用
finally
進行資源釋放
第 12 天:集合與陣列
- 一維與多維陣列的操作
- 使用
List<T>
、Dictionary<T, K>
等集合 - 集合的遍歷與查詢
第 13 天:Lambda 表達式
- Lambda 表達式的概念與語法
- 使用 Lambda 進行簡潔的運算
- 與委派(Delegates)的搭配使用
第 14 天:LINQ 基礎
- LINQ 查詢語法
- 使用 LINQ 進行資料篩選與轉換
- 進階 LINQ 操作
第 15 天:檔案操作
- 檔案的讀寫操作(
StreamReader
、StreamWriter
) - 使用
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 天:效能最佳化
- 應用程式的效能分析與優化技巧
- 使用
Async
與Await
提升效能 - 緩存技術的使用
第 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 授權