Диаграмма UML двойная стрелка

Диаграмма UML двойная стрелка
Диаграмма UML двойная стрелка

В статье Microsoft Learn о MVVM есть, как я предполагаю, диаграмма UML, которая не имела для меня смысла. (https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/patterns-wpf-apps-with-the-model-view-viewmodel-design-pattern )

Я не понимаю, что означает двойная стрелка. Я не смог найти это на сайтах, объясняющих UML, или в шпаргалках.

Может ли кто-нибудь объяснить, что означает двойная стрелка от AllCustomersViewModel к CustomerViewModel с именем AllCustomers?

В UML ассоциации A — B могут быть представлены стрелкой A —> B для выражения навигации, т.е. обещания, что во время выполнения существует эффективный способ получить связанные B для любого A. Но в UML не существует двойной стрелки (две головки стрелки на одной стороне).

Это собственная нотация Visual Studio. Она соответствует тому, что дизайнер visual studio называет "collection association " (см. также этот учебник). Это означает, что _customers в CustomerRepository и AllCustomers в AllCustomersViewModel являются коллекциями Customer и CustomerViewModel соответственно.

В UML можно было бы просто использовать символ кратности * рядом с головкой стрелки. Тогда имя роли, например _customers, будет соответствовать многозначному элементу типа Customer, а не коллекции клиентов, без указания того, как кратность реализуется на практике.


LetsCodeIt, 18 января 2023 г., 22:07