Я хотел бы, чтобы смоделировать следующий код с использованием UML диаграммы:Композиции в UML для поля типа Dictionary <Bar, Quux>
public class Bar { /* ... */ }
public class Quux { /* ... */ }
public class Foo {
public Dictionary<Bar, Quux> aField;
}
Foo
класса состоят многих Bar
/Quux
пара, в том смысле, состава и агрегации. Как я могу представить это с помощью UML?
только "правильно", что я могу думать о довольно громоздко:
Но я предпочел бы что-то вдоль линий этого:
Я мог бы также использовать возможно слишком очевидное решение, показывающее поле в Foo
, но я бы потерял состав информацию, и я хотел бы иметь некоторую линию, которая визуально соединяет Foo
, Bar
и Quux
:
Ну, я хочу избежать большой «KeyValuePair» на моей первой диаграмме, потому что она отвлекает и чувствует себя как детали реализации, которых не должно быть. Моя забота заключается не в ярлыках 'key' и' value', а о том, как представить композицию с использованием словаря/ассоциативного списка/... в элегантном стиле. –
В этом случае я бы пошел на второе решение ... может быть, добавить рядом с Foo 'Dictionary', так что ясно, что Bar и Quux имеют отношение. Это может быть не 100% UML, но я уверен, что все будут знать, что имеется в виду. –
Вы можете назначить это как стереотип для Foo: > – observer