聯繫我們

課程簡介

現代 .NET 平台簡介

  • .NET 8 執行階段、SDK,以及統一平台概覽
  • .NET Framework、.NET Core 和 .NET 8+ 演進的比較
  • 專案結構、目標框架和多目標編譯基礎知識
  • 設定開發環境和工具

現代 C# 與面向未來的語言實踐

  • Records, init-only setters, 以及不變性模式
  • 模式匹配增強功能和 switch expressions
  • Nullable reference types 和編譯器驅動的安全性
  • Async/await 最佳實踐和記憶體高效的串流處理
  • 泛型數學、介面中的靜態抽象型別,以及效能導向的 API
  • 為 .NET 8 上的 C# 12/13 功能準備程式碼庫

ASP.NET Core 基礎知識與應用程式引導

  • Host builder, middleware pipeline, 和請求生命週期
  • Minimal APIs 與基於 Controller 的 API:決策標準
  • 配置提供者、環境特定設定,以及金鑰管理
  • 靜態檔案、路由和端點常規
  • 依賴注入容器配置和服务生命週期

REST API 設計與實作

  • REST 成熟度模型、資源建模,以及 URI 設計
  • HTTP 方法、狀態碼,以及內容協商
  • 請求驗證、模型綁定,以及 FluentValidation 整合
  • 公開和內部 API 的版本控制策略
  • 使用 OpenAPI 和 Swagger UI 進行文件編寫
  • 使用 TestServer 和 WebApplicationFactory 對 API 進行整合測試

企業級依賴注入與控制反轉

  • 建構函式注入、服務生命週期,以及封閉依賴
  • 裝飾器模式和工廠模式與內建容器
  • Scrutor 和第三方 DI 庫整合
  • 模組化服務註冊和功能導向組織
  • 透過 middleware 和 filters 處理橫切關注點

日誌記錄、配置與集中式錯誤處理

  • 使用 Microsoft.Extensions.Logging 和 Serilog 進行結構化日誌記錄
  • 日誌層級、範圍、增強功能和 sink 配置
  • 異常 middleware 和全域錯誤處理管線
  • ProblemDetails 和符合 RFC 7807 的錯誤回應
  • 健康檢查、遥測數據,以及可觀測性鉤子
  • 關聯 ID 和分散式追蹤準備工作

企業 .NET 解決方案的軟體架構

  • 分層、六邊形,以及乾淨架構原則
  • .NET 中的領域驅動設計建構區塊
  • 使用 MediatR 的 CQRS 和中介者模式
  • 使用 EF Core 的 Repository 和工作單元模式
  • 垂直切片架構以实现功能內聚
  • 評估單體、模組化單體和微服務之間的取捨

Web 應用程式和 API 的安全性

  • 身分驗證方案:JWT, OAuth2, OpenID Connect, 以及基於 cookie 的流程
  • 授權原則、基於聲明存取,以及基於資源的防護
  • HTTPS 強制執行、HSTS,以及安全標頭 middleware
  • 輸入清理、輸出編碼,以及 OWASP Top 10 緩解措施
  • 速率限制、CORS 政策,以及防偽令處理
  • 使用 Azure Key Vault 和金鑰管理及環境驅動輪換進行金鑰管理

程式碼品質、可維護性與最佳實踐

  • 編碼標準、EditorConfig, 和 dotnet format
  • 使用 Roslyn analyzers 和 SonarQube 整合進行靜態分析
  • 使用 xUnit 進行單元測試,使用 Moq 或 NSubstitute 進行模擬
  • 在 CI 管線中進行整合測試和合約測試
  • 長壽舊有模組的重構技巧
  • 文件、API 合約,以及知識共享實踐

現代化策略:評估舊有 .NET Framework 程式碼

  • 組合分析:按關鍵性、複雜性和業務價值對應用程式分類
  • .NET Upgrade Assistant 和相容性分析器的使用
  • 識別已棄用的 API, 平台特定依賴,以及第三方差距
  • Windows 特定 API 和 WCF 遷移考慮因素
  • 建立基於風險優先級的遷移路徑圖

漸進式遷移與共存技術

  • 殭屍(fig)模式:逐步替換舊有子系統
  • API-first 遷移:透過 REST facades 暴露 .NET Framework 領域
  • 使用 RabbitMQ, Azure Service Bus, 或 Kafka 進行基於訊息的橋接
  • 共用資料庫共存和架構版本控制策略
  • 在同一基礎設施中並列運行 .NET Framework 和 .NET 8
  • 將現代元件容器化,同時讓舊有系統留在 IIS 上

實踐遷移實驗室與回顧

  • 對代表性舊有專案應用 Upgrade Assistant
  • 將 Web Forms 或 WCF 服務重構為 ASP.NET Core API
  • 在遷移後的解決方案中實作 DI、日誌記錄和集中式錯誤處理
  • 為新 API 介面添加身分驗證和授權
  • 透過端到端整合測試驗證共存
  • 回顧、問答,以及培訓後現代化規劃指導

最低要求

  • 具備 C# 程式設計和物件導向設計原則經驗
  • 熟悉 Web 開發概念(HTTP, HTML, CSS, JavaScript 基礎)
  • 基本了解關聯式資料庫和 SQL
  • 先前接觸過 .NET Framework 或 ASP.NET 會有所幫助,但非必要條件

受眾對象

  • .NET 開發人員及架構師,準備現代化舊有 .NET Framework 應用程式
  • 轉向企業 .NET 開發角色的軟體工程師
  • 負責平台遷移和共存規劃的技術主管
  • 支援 .NET 應用程式生命週期的 DevOps 和基礎設施人員
 21 小時

客戶評論 (2)

課程分類