2017-05-05 136 views
1

假設有一個PHP子系統僅使用關聯數組來存儲某種結構化數據。所以事實上,在語言層面上沒有任何機制來約束這些結構,但是你想在你的設計中用UML來定義它們。使用基於關聯數組的UML建模類型

如:

接觸可能看起來像這樣在PHP關聯數組:

[ 
    'name' => 'John Doe', 
    'birth' => '2000-04-01', 
    'email' => '[email protected]', 
    'address' => [ 
    'street' => '123 Main St', 
    'city' => 'Anytown', 
    'state' => 'NY', 
    'zip' => '1234', 
    'country' => 'US' 
    ] 
] 

所以我想在UML的圖看起來是這樣的:

enter image description here

但有人可能會批評這是錯誤的,因爲它顯示兩個類而不是兩個關聯數組。所以我們可以使用(自定義)原型來顯示這不是一個普通的類,而是哪個(以及如何定義它們)?

或者更常見的問題:用UML定義這類數據類型的正確方法是什麼?

回答

1

簡單地說:您的設計是正確的。你「可能」要做的是讓Address嵌入類的Contact

enter image description here

如果你願意的話,你可以表明它應作爲關聯數組實現:

enter image description here