为了账号安全,请及时绑定邮箱和手机立即绑定

我们如何对员工层次结构(软件工程师、高级软件工程师、经理等)及其职责进行建模?

我们如何对员工层次结构(软件工程师、高级软件工程师、经理等)及其职责进行建模?

犯罪嫌疑人X 2021-11-11 16:10:06
我们如何才能最好地为员工可以拥有不同名称的结构设计课程。经理可以管理少数员工。每个员工都有一些责任。我的想法是在以下几行。想知道更好的方法enum DesignationLevel {    SE, SSE, MANAGER;}class Designation {    DesignationLevel dl;    List responsibilies;}class Employee {    Designation desig;    Employee manager;    List subordinates;}
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

看起来没问题。不要使用 的原始类型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;

}


查看完整回答
反对 回复 2021-11-11
?
炎炎设计

TA贡献1808条经验 获得超4个赞

作为枚举常量的不同名称


enum Designation {

    SOFTWARE_ENGINEER, SENIOR_SOFTWARE_ENGINEER, MANAGER;

}

员工(普通员工和经理)应根据其指定而具有指定和职责。


此外,如果一名员工(即经理),那么他可以在他之下有下属,而他们也是一名员工,因此添加了类型列表。


由于下属是类型列表,经理可以有下属,他们也可以是员工或经理,员工可能没有下属。


class Employee {

    Designation designation;

    List<String> responsibilities;

    List<Employee> subordinates;

}

如果需要,可以为董事和管理人员提供单独的课程。


查看完整回答
反对 回复 2021-11-11
  • 2 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信