- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 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:
将Team
和Employee
彼此完全分开,并创建一个新类来处理它们的关系。这样,事实就只有一个地方,如果您愿意,您可以将一名员工分配到多个团队。
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/
嗨,我正在考虑开发一种文件传输程序,想知道我是否想要尽可能好的加密,我应该使用什么? 我会用 C# 开发它,所以我可以访问 .net 库 :P在我的 usb 上有一个证书来访问服务器是没有问题的,如果
我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n) public void getInt(int[] a,int[] b){ int i=0; int
我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。 我需要将整体通话质量评为优秀、良好、一般或差。
基本问题: 如果我正在讲述/修改数据,我应该通过索引硬编码索引访问文件的元素,即 targetFile.getElement(5);通过硬编码标识符(内部翻译成索引),即 target.getElem
在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。 我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的
在客户端浏览器中使用 fetch api,GET 或 POST 没有问题,但 fetch 和 DELETE 有问题。它似乎将 DELETE 请求方法更改为 OPTIONS。 大多数研究表明是一个cor
我是一名优秀的程序员,十分优秀!