gpt4 book ai didi

oop - 类设计(UML 类图)

转载 作者:行者123 更新时间:2023-12-04 06:33:44 25 4
gpt4 key购买 nike

有人可以对以下场景提出意见:
我有一个 Administrator类和 Technician类(都扩展了一个 User 类,但这不是重点)。我也有 RepairJob代表一个项目通过其不同的修复阶段{收到|正在修复|等待零件等}的类。
只有管​​理员用户才能向系统添加新的修复作业,并且还可以查看当前正在进行的所有修复作业的状态。
技术人员将需要能够从尚未被其他技术人员接受的任何维修工作列表的 View 中接受维修工作。技术人员用户还必须能够更新他们自己接受的维修工作的状态,直到准备好返回给客户(另一类)。
管理员将能够接受系统中的任何维修作业,即使是那些已经被技术员接受的作业,此时他们将不再能够更新维修作业的状态。 (考虑到员工下类)
我的问题
有人可以让我深入了解您将如何收集 RepairJob实例。我一开始以为,由于管理员用户将添加这些实例,因此最好在 Administrator 内对集合进行建模。然而,技术员类也必须能够访问有限的维修工作集合。我也曾想过创建一个 RepairJobs具有列表并且可用于任一类的类,但我不确定这是否是一个好的设计。

最佳答案

我认为它应该与 Admin 和 Tech 类(class)分开。 RepairJob 用于单个任务;你所描述的听起来像一个 RepairJobManager,它维护一个 RepairJobs 的集合并跟踪它们的状态。它根据与之交互的特定用户的角色执行您的规则。

package model;

public class RepairJobManager
{
private Map<String, RepairJob> jobs;

public void add(RepairJob job, Role role)
{
// Only allow Admin to do certain things.
}

public void update(RepairJob job, Status status, Role role)
{
// Only allow Admin to do certain things.
}


}

关于oop - 类设计(UML 类图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5082459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com