Сущности в ограниченных контекстах в Domain-Driven Design

Я пытаюсь понять, как сущности действуют в нескольких ограниченных контекстах.

Дан сотрудник компании. В контексте (например) отдела кадров у этого человека есть имя, фамилия, адрес, номер справки о зарплате и банковский счет. Но в контексте бухгалтерии все, что имеет значение, - это номер справки о зарплате и банковский счет.

У вас есть сущность Employee в контексте HR и Value-Type (например, SalariedEmployee) в контексте Accounting?

class Employee
{
    public BankAccount BankAcountDetails { get; set; }
    public string FullName { get; set; }
    public Address ResidentialAddress { get; set; }
    public string SalaryRef { get; set; }
}

SalariedEmployee class (??) : Employee's value-type

class SalariedEmployee
{
    public SalariedEmployee(string salaryRef, BankAccount bankAcountDetails)
    {
        ...
    }

    public string SalaryRef { get; }
    public BankAccount BankAcountDetails { get; }
}

Возвращает ли HRService в ограниченном контексте эту информацию? Или вы используете класс Employee в обоих контекстах?

15
задан Keith Pinson 10 September 2013 в 14:15
поделиться