Tôi đang cố gắng hiểu cách thức các thực thể hoạt động trong nhiều bối cảnh bị chặn.Thực thể trên các ngữ cảnh bị chặn trong Thiết kế theo hướng miền
Cho một nhân viên của một công ty. Trong (ví dụ) bối cảnh nguồn nhân lực, người này có tên, họ, địa chỉ, số tham chiếu tiền lương và tài khoản ngân hàng. Nhưng trong ngữ cảnh kế toán tất cả những gì có liên quan là số tham chiếu tiền lương và tài khoản ngân hàng.
Bạn có thực thể Nhân viên trong ngữ cảnh nhân sự và Loại giá trị (ví dụ: SalariedEmployee
) trong ngữ cảnh kế toán không?
class Employee
{
public BankAccount BankAcountDetails { get; set; }
public string FullName { get; set; }
public Address ResidentialAddress { get; set; }
public string SalaryRef { get; set; }
}
SalariedEmployee
lớp (??): Nhân viên chính của giá trị kiểu
class SalariedEmployee
{
public SalariedEmployee(string salaryRef, BankAccount bankAcountDetails)
{
...
}
public string SalaryRef { get; }
public BankAccount BankAcountDetails { get; }
}
Liệu các HRService trong bối cảnh bị chặn trở lại thông tin này? Hay bạn sử dụng lớp Employee trong cả hai bối cảnh?
Bạn có nói rằng ví dụ tôi đưa ra ở trên là một ý tưởng hay là nó được "cho phép" và phổ biến trong DDD? – Asher
Đó là một ý tưởng hay. Nó làm cho nó rất rõ ràng rằng bối cảnh kế toán không phân biệt giữa các nhân viên hưởng lương như xa như bất kỳ logic kinh doanh có liên quan. Bạn chỉ cần cảm thấy tự tin rằng ngữ cảnh kế toán sẽ không bao giờ cần phân biệt chúng. –