gpt4 book ai didi

java - UML 图中的一对一关系

转载 作者:行者123 更新时间:2023-11-30 04:24:59 26 4
gpt4 key购买 nike

我是 UML 图的新手,正在阅读一本关于它的书。它有一个类图,如下所示:

enter image description here

它说,

The implication of a one to one association is that whenever you create an 
instance of one of the classes, you must simultaneously create an instance
of the other, and when you delete one you must delete the other.

我的问题是,我们真的必须这样做吗?我们不能将“null”作为其中之一的值吗?例如,我正在考虑如下图的java代码,当我想创建一个Company项时,我可以给null作为参数。我错了吗?或者这是一段糟糕或错误的代码?

public class Company{
. . .
private BoardOfDirectors director;
public Company(BoardOfDirectors director){
this.director=director;

}
. . .
}

public class BoardOfDirectors{
. . .
private Company company;
public BoardOfDirectors(Company company){
this.company=company;

}
. . .
}

谢谢。

最佳答案

这一切都取决于 UML 背后的业务规则。您可能想要创建一个对象来解释此时没有董事会,而不是 NULL。如果公司稍后决定要组建董事会,那么这将是明智的选择。然后您可以将它们存储在彼此的数组中。通过这种方式,您可以将对象存储在另一个对象中。

我创建了一些程序,我们将对象存储在对象内的对象内,等等。这允许使用持久代码并且可以序列化状态。然后您可以让数组迭代并维护 UML 图的基数。

实际上,您必须了解项目的业务规则,应用实体背后的基数和建模,并尝试模仿这一现实。根据我在学校学到的知识,我们的工作是模仿现实并将其视为现实生活,以便我们的代码更有意义。从长远来看,它将更容易理解和维护。尽管为了速度我确实时不时地违反这条规则,但这就是糟糕的代码开始形成的原因。

查看http://uml.org如果您还没有的话。

干杯!

关于java - UML 图中的一对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16151883/

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