gpt4 book ai didi

java - OOP 中是否有交叉引用类的良好用例? (A 类引用 B,B 引用 A)

转载 作者:行者123 更新时间:2023-12-01 07:43:56 26 4
gpt4 key购买 nike

我正在用 Java 做一个个人项目,我想制作一个真正“干净”的代码和类设计。

我问自己这个设计在这种情况下是否可行:

public class Team {
private String teamName;
private List<Employee> team;
}

public class Employee {
private String name;
private Team parent;
}

我做出这样的设计是因为我可以通过Team对象直接检索给定团队的所有员工,而且还可以直接获取给定员工的链接团队。但我发现它的缺点是它可能会创建不连贯的引用。

有没有“更清洁的方法”来实现这一目标?每当我遇到此类问题时,我应该问什么问题?

我知道这是一个相当笼统的问题,但我没有关于 OOP 中实体关系的方法。

感谢您的帮助,

最佳答案

Is there any "cleaner way" to achieve that ?

示例1:

常见做法 - 只有团队知道它有哪些员工。

public class Team {
private String teamName;
private List<Employee> employees;
}

public class Employee {
private String name;
}

示例2:

TeamEmployee 彼此完全分开,并创建一个新类来处理它们的关系。这样,事实就只有一个地方,如果您愿意,您可以将一名员工分配到多个团队。

public class Team {
private String teamName;
}

public class Employee {
private String name;
}

public class Membership {
private Team team;
private List<Employee> employees;
}

关于java - OOP 中是否有交叉引用类的良好用例? (A 类引用 B,B 引用 A),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58855600/

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