1

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

在此处输入图像描述

它说,

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代码如下,当我想创建一个公司项目时,我可以给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;

   }
       . . .
}

谢谢你。

4

1 回答 1

2

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

我创建了程序,我们将对象存储在对象内部的对象中,等等。这允许使用持久代码并可以序列化状态。然后,您可以让数组遍历并保持 UML 图的基数。

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

如果您还没有,请查看http://uml.org 。

干杯!

于 2013-04-22T16:33:58.580 回答