Логика в доменной модели - PullRequest
0 голосов
/ 23 июня 2011

У меня есть класс:

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 здесь?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...