域模型的逻辑

时间:2011-06-23 08:46:45

标签: asp.net-mvc asp.net-mvc-3 c#-4.0 entity-framework-4.1

我有一类:

public class Adjustment
{
   // removed some code...
   public decimal Overtime { get; set; }
   public decimal HolidayPay { get; set; }
   // FK
   public int SalaryId { get; set; }
   public Salary Salary { get; set; }
}

public class Salary
{
   // removed some code...
   public int SalaryId { get; set; }
   public decimal HourlyRate { get; set; }    
}

我正在使用策略模式计算加班费,因为我会根据日期类型(枚举)进行各种计算。假设我们有RegularRate类和SpecialRate类,它们将实现CalculateOvertimeRate的方法。

现在,CalculateOvertimeRate取决于Salary类的小时费率,小时费率的计算也会根据日期类型而有所不同,所以我假设我必须再次实施策略模式。问题是,我应该将整个计算方法提取到域服务并仅将它们作为一个类吗?或者代码应该保持不变?我在这里违反了SRP和SoC吗?感谢。

0 个答案:

没有答案