我们如何才能最好地为员工可以具有不同指定的结构设计课程。经理只能管理几个员工。每个员工都有一些责任。 我的想法如下。想知道更好的方法
enum DesignationLevel {
SE, SSE, MANAGER;
}
class Designation {
DesignationLevel dl;
List responsibilies;
}
class Employee {
Designation desig;
Employee manager;
List subordinates;
}
答案 0 :(得分:0)
看起来不错。不要使用原始类型List
,而要使用List<Responsibility>
和List<Employee>
。
SE
和SSE
是什么?在您提出问题的上下文中,我可以弄清楚,但是您的代码读者可能无法理解。使用专有名称。
此外,您如何模拟没有经理的CEO-经理为空是否可以接受?员工可能有多个管理人员的情况吗?
enum DesignationLevel {
SOFTWARE_ENGINEER, SENIOR_SOFTWARE_ENGINEER, MANAGER;
}
class Designation {
DesignationLevel designationLevel;
List<Responsibility> responsibilities;
}
class Employee {
Designation designation;
Employee manager;
List<Employee> subordinates;
}
答案 1 :(得分:0)
指定为枚举常量的不同
enum Designation {
SOFTWARE_ENGINEER, SENIOR_SOFTWARE_ENGINEER, MANAGER;
}
员工(普通员工和经理)应根据其职责指定职责。
如果雇员(即经理)也可以在其下拥有下属,而他们也是雇员,因此将添加类型列表。
由于下属是类型列表,所以Manager可以有下属,他们也可以是雇员或经理,而Employee可能没有下属。
class Employee {
Designation designation;
List<String> responsibilities;
List<Employee> subordinates;
}
如果需要,可以为董事和管理人员开设单独的课程。