使用基于关联数组的UML建模类型

时间:2017-05-05 19:07:19

标签: php uml

让我们假设有一个PHP子系统,它只使用关联数组来存储某种结构化数据。所以实际上在语言层面上没有约束这些结构的机制,但是你想用你的UML在你的设计中定义它们。

E.g:

联系人看起来像PHP中的关联数组:

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

所以我认为UML中的图表看起来像这样:

enter image description here

但有人可能会批评这是错误的,因为它显示了两个类而不是两个关联数组。所以我们可以使用(自定义)构造型来表明这不是常规类,而是(以及如何定义它们)?

或更常见的问题:使用UML定义此类数据类型的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

简单地说:您的设计是正确的。你能做什么"的做法是使Address成为Contact的嵌入类:

enter image description here

如果您愿意,可以证明它应该以关联数组的形式实现:

enter image description here