Liên hệ với chúng tôi
 Thời gian kéo dài 35 Giờ học

Đề cương khóa học

Từ kỹ năng ngôn ngữ đến thiết kế giải pháp

  • Các tính năng nâng cao của C# và ý nghĩa thiết kế của chúng.
  • Khai thác ý định thiết kế từ mã nguồn hiện có.

Phân tích yêu cầu và Mô hình hóa miền nghiệp vụ

  • Use cases, user stories và tiêu chí chấp nhận (acceptance criteria).
  • Mô hình miền (Domain models) và ngôn ngữ phổ quát (ubiquitous language).

Nguyên tắc Thiết kế Phần mềm

  • Áp dụng nguyên tắc SOLID vào các giải pháp .NET.
  • Tính ghép nối (coupling), độ gắn kết (cohesion) và hướng phụ thuộc.

Mẫu Thiết kế cho Ứng dụng .NET

  • Lựa chọn mẫu tạo dựng (creational), cấu trúc (structural) và hành vi (behavioral).
  • Mẫu thiết kế (patterns) và mẫu lỗi (anti-patterns) trong mã nguồn hiện có.

Phong cách Kiến trúc và Ra quyết định Kỹ thuật

  • So sánh kiến trúc phân tầng (layered), lục giác (hexagonal) và kiến trúc sạch (clean architecture).
  • Ghi chép quyết định kiến trúc (ADR) và phân tích đánh đổi (trade-off analysis).

Lập kế hoạch Cấu trúc Giải pháp

  • Tổ chức solution và project cho các codebase lớn.
  • Đơn nhất module hóa (modular monolith) so với ranh giới hướng dịch vụ (service-oriented boundaries).

C# Hiện đại cho Mã nguồn Bền vững

  • Pattern matching, records và kiểu tham chiếu rỗng (nullable reference types).
  • Generics, LINQ và tổ hợp hàm (functional composition).

Xử lý Ngoại lệ, Nhật ký và Quan sát hệ thống

  • Chiến lược ngoại lệ và hợp đồng lỗi (error contracts).
  • Ghi nhật ký có cấu trúc (structured logging), tương quan (correlation) và kiểm tra sức khỏe (health checks).

Reflection, Thuộc tính và Lập trình siêu (Metaprogramming)

  • Thiết kế dựa trên thuộc tính (attribute-driven design) và các trường hợp sử dụng reflection.
  • Source generators và sinh mã thời điểm biên dịch (compile-time code generation).

Nền tảng ASP.NET Core

  • Mô hình hosting, tiêm phụ thuộc (dependency injection) và cấu hình.
  • Pipeline yêu cầu, middleware và bộ lọc (filters).

Thiết kế REST API

  • Mô hình hóa tài nguyên và ngữ nghĩa HTTP.
  • Phiên bản hóa (versioning), xác thực (validation) và phản hồi lỗi.
  • Hợp đồng API với OpenAPI.

Bảo mật Ứng dụng .NET

  • Xác thực (authentication) và phân quyền (authorization) với OpenID Connect.
  • Phân quyền dựa trên chính sách (policy-based authorization) và quản lý bí mật (secrets management).

Mô hình hóa Mối đe dọa và Thiết kế An toàn

  • Mô hình STRIDE và ranh giới tin cậy (trust boundaries).
  • Rà soát thiết kế an toàn trước khi triển khai.

Truy cập Dữ liệu với Entity Framework Core

  • Mô hình hóa thực thể (entities) và mối quan hệ.
  • Vòng đời của DbContext và chiến lược di chuyển dữ liệu (migration strategy).

Hiệu năng Truy vấn và Kiến trúc Dữ liệu

  • Các chiến lược nạp dữ liệu (loading strategies) và bẫy của việc nạp trước (eager loading pitfalls).
  • Giao dịch (transactions), token đồng thời (concurrency tokens) và cách vượt qua EF khi cần thiết.

Tính Đồng thời và Lập trình Bất đồng bộ

  • Tasks, TPL và các bẫy của async/await.
  • Đồng bộ hóa (synchronization), hủy bỏ (cancellation) và an toàn luồng (thread safety).

Tối ưu Hiệu năng

  • Hồ sơ (profiling) và chuẩn đoán (benchmarking) với BenchmarkDotNet.
  • Bộ nhớ, cấp phát (allocations) và thu gom rác (garbage collection).
  • Chiến lược bộ nhớ đệm (caching) và kiểm thử tải (load testing).

Chiến lược Kiểm thử xuyên suốt các Tầng

  • Ranh giới giữa kiểm thử đơn vị (unit), tích hợp (integration) và đầu-cuối (end-to-end).
  • Thiết kế kiến trúc kiểm thử được (testable architecture) và giả lập kiểm thử (test doubles).

Triển khai và Sẵn sàng Vận hành

  • Container, cấu hình và đường ống CI/CD.
  • Chẩn đoán sản xuất (production diagnostics) và an toàn phát hành (release safety).

Hoàn thiện: Rà soát Thiết kế và Triển khai

  • Rà soát kiến trúc của một ứng dụng mẫu.
  • Triển khai và tái cấu trúc (refactoring) một lát cắt tính năng (feature slice).

Yêu cầu

  • Kinh nghiệm lập trình bằng C#
  • Hiểu biết thực tế về lập trình hướng đối tượng
  • Knowledge cơ bản về SQL và cơ sở dữ liệu quan hệ

Đối tượng tham gia

  • Lập trình viên .NET
  • Kỹ sư phần mềm và các vị trí quản lý kỹ thuật (technical leads)
  • Lập trình viên đang chuyển sang vai trò thiết kế ứng dụng

Số người tham gia


Giá cho mỗi học viên

Đánh giá (4)

Các khóa học sắp tới

Các danh mục liên quan