private static void WithoutUsingFactoryPattern(int EmpType) { //Code without using Factory Design Pattern if (EmpType == 1) { PermanantEmployee emp = new PermanantEmployee(); emp.Pay = 10; emp.Bonus = 8; } else if (EmpType == 2) { TemporaryEmployee emp = new TemporaryEmployee(); emp.Pay = 12; emp.Bonus = 6; } else if (EmpType == 3) { ContractualEmployee emp = new ContractualEmployee(); emp.Pay = 8; emp.Bonus = 4; } //perform operation on emp object. }
public override IEmployee GetEmployee(string name, string dept, double salary, EmployeeType type) { IEmployee newEmployee = null; switch (type) { case EmployeeType.Permanant: newEmployee = new PermanantEmployee(name, dept, salary); break; case EmployeeType.Contract: newEmployee = new ContractEmployee(name, dept, salary); break; case EmployeeType.Intern: newEmployee = new InternEmployee(name, dept, salary); break; default: break; } return(newEmployee); }