Я использую Ninject для конструктора, чтобы создавать мои конкретные объекты на лету. Тем не менее, у меня есть сценарий, где класс содержит метод, который принимает строку. Основываясь на значении строки, я хотел бы получить определенный класс. Я достиг этого, создав фабричный класс для возврата конкретного класса, но не был уверен, что это лучший способ. Есть предложения?
//Service class
public int GetEmployeeVacationDays(string employeeType)
{
IEmployee employee = EmployeeFactory.CreateEmployee(employeeType);
return employee.VacationDays();
}
//Factory class
public static IEmployee CreateEmployee(string employeeType)
{
if(employeeType == "Salary")
{
return new SalariedEmployee();
}
else
{
return new HourlyEmployee();
}
}