簡體   English   中英

UML圖中的一對一關系

[英]One to one relationships in UML diagrams

我是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代碼,並且當我想創建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圖的基數。

實際上,您必須接受項目的業務規則,在實體后面應用基數和建模,然后嘗試模仿這種現實。 從我在學校所受的教our開始,我們的工作是模仿現實並將其視為現實生活,以便我們的代碼更具意義。 從長遠來看,這將更容易理解和維護。 盡管我為了提高速度有時會不時打破這一規則,但這就是不良代碼開始形成的方式。

如果尚未登錄,請訪問http://uml.org

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM