Đề cương khóa học
Giới thiệu về nền tảng .NET Hiện đại
- Tổng quan về runtime, SDK và nền tảng thống nhất của .NET 8
- So sánh sự tiến hóa từ .NET Framework, .NET Core sang .NET 8+
- Cấu trúc dự án, khung mục tiêu và cơ bản đa khung mục tiêu (multi-targeting)
- Cài đặt môi trường phát triển và công cụ hỗ trợ
C# Hiện đại và Các Thực Hành Ngôn Ngữ Hướng Tới Tương Lai
- Records, setter chỉ khởi tạo (init-only), và các mẫu bất biến
- Cải tiến so khớp mẫu và biểu thức switch
- Kiểu tham chiếu null và tính an toàn do trình biên dịch hỗ trợ
- Tối ưu hóa async/await và luồng dữ liệu tiết kiệm bộ nhớ
- Toán học tổng quát (generic math), phương thức abstract tĩnh trong giao diện và các API hướng hiệu suất
- Chuẩn bị cơ sở mã cho các tính năng C# 12/13 trên .NET 8
Nền tảng ASP.NET Core và Khởi tạo Ứng dụng
- Host builder, quy trình middleware và vòng đời yêu cầu
- Minimal APIs so với API dựa trên controller: tiêu chí ra quyết định
- Các nhà cung cấp cấu hình, cài đặt theo môi trường và quản lý bí mật
- Tệp tĩnh, tuyến đường (routing) và quy ước điểm cuối
- Cấu hình container tiêm phụ thuộc và thời gian tồn tại của dịch vụ
Thiết kế và Triển khai REST API
- Mô hình trưởng thành REST, mô hình hóa tài nguyên và thiết kế URI
- Các phương thức HTTP, mã trạng thái và đàm phán nội dung
- Xác nhận yêu cầu, ràng buộc mô hình và tích hợp FluentValidation
- Chiến lược phiên bản cho API công khai và nội bộ
- Tài liệu hóa với OpenAPI và Swagger UI
- Kiểm thử tích hợp API với TestServer và WebApplicationFactory
Tiệm phụ thuộc Doanh nghiệp và Đảo ngược Điều khiển (IoC)
- Tiem phụ thuộc qua constructor, thời gian tồn tại dịch vụ và phụ thuộc bị mắc kẹt
- Các mẫu Decorator và Factory với container tích hợp sẵn
- Tích hợp Scrutor và thư viện DI bên thứ ba
- Đăng ký dịch vụ mô-đun và tổ chức dựa trên tính năng
- Xử lý các mối quan tâm chéo (cross-cutting concerns) qua middleware và bộ lọc
Ghi nhật ký, Cấu hình và Xử lý Lỗi Tập trung
- Ghi nhật ký có cấu trúc với Microsoft.Extensions.Logging và Serilog
- Mức nhật ký, phạm vi (scopes), làm giàu dữ liệu và cấu hình sink
- Middleware ngoại lệ và quy trình xử lý lỗi toàn cục
- ProblemDetails và phản hồi lỗi tuân thủ RFC 7807
- Kiểm tra sức khỏe, telemetery và các điểm móc quan sát
- ID tương quan và chuẩn bị cho truy vết phân tán
Kiến trúc Phần mềm cho Giải pháp .NET Doanh nghiệp
- Nguyên tắc kiến trúc phân tầng, hình học (hexagonal) và Clean Architecture
- Các khối xây dựng thiết kế hướng miền (DDD) trong .NET
- Mẫu CQRS và Mediator với MediatR
- Mẫu Repository và Unit of Work với EF Core
- Kiến trúc lát dọc (vertical slice) để gắn kết tính năng
- Đánh đổi giữa mô hình monolith, modular monolith và microservices
Bảo mật cho Ứng dụng Web và API
- Các lược đồ xác thực: JWT, OAuth2, OpenID Connect và luồng dựa trên cookie
- Chính sách ủy quyền, truy cập dựa trên claims và bộ lọc tài nguyên
- Bắt buộc HTTPS, HSTS và middleware tiêu đề bảo mật
- Làm sạch đầu vào, mã hóa đầu ra và giảm thiểu OWASP Top 10
- Hạn chế tốc độ, chính sách CORS và xử lý thông token chống giả mạo
- Quản lý bí mật với Azure Key Vault và xoay vòng dựa trên môi trường
Chất lượng Mã, Khả năng Bảo trì và Thực hành Tốt nhất
- Quy chuẩn mã hóa, EditorConfig và dotnet format
- Phân tích tĩnh với Roslyn analyzers và tích hợp SonarQube
- Kiểm thử đơn vị với xUnit, mô phỏng (mocking) với Moq hoặc NSubstitute
- Kiểm thử tích hợp và kiểm thử hợp đồng trong quy trình CI
- Kỹ thuật cải tiến lại cho các mô-đun legacy dài hạn
- Tài liệu hóa, hợp đồng API và thực hành chia sẻ kiến thức
Chiến lược Hiện đại hóa: Đánh giá Mã Legacy .NET Framework
- Phân tích danh mục ứng dụng: phân loại theo mức độ quan trọng, độ phức tạp và giá trị kinh doanh
- Sử dụng .NET Upgrade Assistant và công cụ phân tích tương thích
- Xác định API bị loại bỏ, phụ thuộc đặc thù nền tảng và khoảng trống bên thứ ba
- Cân nhắc chuyển đổi cho API đặc thù Windows và WCF
- Hoạch định lộ trình chuyển đổi với ưu tiên dựa trên rủi ro
Kỹ thuật Chuyển đổi Tiến hóa và Cùng tồn tại
- Mẫu Strangler Fig: thay thế dần các hệ thống con legacy
- Chuyển đổi API-first: phơi bày miền .NET Framework qua các lớp facade REST
- Cầu nối dựa trên tin nhắn với RabbitMQ, Azure Service Bus hoặc Kafka
- Cùng tồn tại cơ sở dữ liệu chia sẻ và chiến lược phiên bản schema
- Chạy song song .NET Framework và .NET 8 trong cùng cơ sở hạ tầng
- Docker hóa các thành phần hiện đại trong khi vẫn giữ legacy trên IIS
Luyện tập Chuyển đổi Thực tế và Xem xét
- Áp dụng Upgrade Assistant cho một dự án legacy tiêu biểu
- Cải tiến lại Web Forms hoặc dịch vụ WCF thành API ASP.NET Core
- Triển khai DI, ghi nhật ký và xử lý lỗi tập trung trong giải pháp đã chuyển đổi
- Thêm xác thực và ủy quyền cho bề mặt API mới
- Xác minh sự cùng tồn tại thông qua kiểm thử tích hợp đầu cuối
- Tổng kết, Hỏi & Đáp và hướng dẫn hoạch định hiện đại hóa sau khóa học
Yêu cầu
- Kinh nghiệm với lập trình C# và các nguyên tắc thiết kế hướng đối tượng
- Nắm vững các khái niệm phát triển web (HTTP, HTML, CSS, JavaScript cơ bản)
- Hiểu biết cơ bản về cơ sở dữ liệu quan hệ và SQL
- Kinh nghiệm trước đây với .NET Framework hoặc ASP.NET sẽ có lợi nhưng không bắt buộc
Đối tượng tham gia
- Các nhà phát triển và kiến trúc sư .NET chuẩn bị hiện đại hóa các ứng dụng .NET Framework cũ
- Kỹ sư phần mềm chuyển sang vai trò phát triển doanh nghiệp .NET
- Trưởng nhóm kỹ thuật phụ trách hoạch định chuyển đổi nền tảng và sự cùng tồn tại
- Nhân viên DevOps và hạ tầng hỗ trợ vòng đời ứng dụng .NET
Đánh giá (2)
Tính tương tác và các giải pháp mã hóa theo thời gian thực
Eduard-Emanuel Zaharia - Kruk Italia
Khóa học - Advanced Blazor
Dịch thuật bằng máy
cơ hội thực hành và sự kiên nhẫn của người hướng dẫn
sheena - Te Manawa Taki Trauma System
Khóa học - Visual Studio 2022 IDE
Dịch thuật bằng máy