我正在尝试遵循 DDD,但我对建模此示例情况有疑问:
我有一个实体员工:
public class Employee{
public Int32 Id {get;set;}
public String Name {get;set;}
public Decimal Salary {get;set;}
public List<Retirement> Retirements {get;set;}
}
是不是所有员工都通用,一个名字,一个薪水。但有些人可能会因健康状况不佳而退休。每个退休都与一个员工相关联,所以我有这个实体:
public Retirement {
public Int32 Id {get;set;}
public DateTime Begining {get;set;}
public DateTime End {get;set;}
public Employee Employee {get;set;}
}
我的疑问是:
- Employee 实体真的需要 Retirement 列表吗?
(员工存在不带退休,但退休不存在不带员工)
- 如果我必须获取今天退休的所有员工,那么搜索 Employee 或 Retirement 是否更“合乎逻辑”?
- 当我雇用一名员工时,我不希望他退休。这不是一个共同的特点。它会改变员工的行为吗?