У меня есть класс:
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 здесь?Спасибо.