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

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

Giới thiệu về Lập trình hướng miền (DDD)

  • Các nguyên tắc và động lực đằng sau DDD
  • Ngôn ngữ thống nhất và sự hợp tác với các chuyên gia nghiệp vụ (domain experts)
  • Phân biệt giữa các miền con cốt lõi, hỗ trợ và phổ thông

Thiết kế chiến lược và Ngữ cảnh có giới hạn (Bounded Contexts)

  • Định nghĩa các ngữ cảnh có giới hạn và trách nhiệm của chúng
  • Bản đồ ngữ cảnh (Context mapping) và các mẫu tích hợp
  • Xử lý các vấn đề về nhóm, ranh giới tổ chức và quyền sở hữu dữ liệu

Các mẫu chiến thuật — Các khối xây dựng của Mô hình miền

  • Thực thể (Entities) và quản lý danh tính
  • Đối tượng giá trị (Value objects) và tính bất biến (immutability)
  • Tập hợp (Aggregates) và ranh giới giao dịch (transaction boundaries)

Dịch vụ miền, Kho dữ liệu (Repositories) và Nhà máy (Factories)

  • Khi nào nên sử dụng dịch vụ miền so với dịch vụ ứng dụng
  • Các mẫu Repository và các cân nhắc về lưu trữ dữ liệu
  • Các mẫu Factory để tạo các đối tượng phức tạp

Mô hình hóa hành vi phức tạp và Bất biến (Invariants)

  • Thiết kế các bất biến và thực thi các quy tắc nghiệp vụ
  • Mô hình hóa dựa trên sự kiện và các sự kiện miền (domain events)
  • Các mô hình nhất quán: nhất quán dần (eventual consistency) và saga

Tích hợp DDD với Kiến trúc và Thực hành Kỹ thuật

  • Điều chỉnh DDD với microservices và kiến trúc monolithic module hóa
  • Thiết kế API, lớp chống ăn mòn (anti-corruption layers) và các chiến lược tích hợp
  • Kiểm tra logic miền: kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử hợp đồng

Áp dụng DDD trong các nhóm và tổ chức

  • Tổ chức các buổi hội thảo khám phá miền và Event Storming
  • Tạo và quản lý ngôn ngữ thống nhất xuyên suốt các nhóm
  • Đo lường hiệu quả và lặp lại việc tinh chỉnh mô hình miền

Tóm tắt và Các bước tiếp theo

Yêu cầu

  • Kinh nghiệm lập trình vững chắc trong các ngôn ngữ lập trình hướng đối tượng
  • Hiểu biết về các nguyên tắc kiến trúc phần mềm
  • Quen thuộc với các thực hành phát triển Agile

Đối tượng tham gia

  • Lập trình viên cấp cao
  • Kiến trúc sư phần mềm
  • Trưởng nhóm kỹ thuật (Technical leads)

Số người tham gia


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

Đánh giá (1)

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

Các danh mục liên quan