Matrix · Vertical Slice Architecture

Cắt ngang theo tầng, cắt dọc theo tính năng

Cắt ngang theo tầng và cắt dọc theo tính năng Ma trận bốn tầng kỹ thuật nhân bốn tính năng Lead: cắt ngang gom mỗi tầng vào một thư mục nên LeadService.cs chứa logic của mọi tính năng, còn cắt dọc gom cả bốn phần của CreateLead vào một file Features/Leads/CreateLead.cs. Features/Leads/CreateLead.cs CreateLead GetLeadById SearchLeads ConvertLead Định tuyến Controllers/ Endpoint Endpoint Endpoint Endpoint Hợp đồng DTOs/ Request · Response Request · Response Request · Response Request · Response Logic nghiệp vụ Services/ Handler · Validator Handler · Validator Handler · Validator Handler · Validator Truy cập dữ liệu Repositories/ Truy vấn DbContext Truy vấn DbContext Truy vấn DbContext Truy vấn DbContext CHÚ GIẢI Cắt dọc: một tính năng nằm trọn trong một file, sửa hay xoá đều ở một chỗ Cắt ngang: Services/LeadService.cs chứa logic của mọi tính năng, hai người làm hai tính năng vẫn đụng chung một file © tiennhm