В статье 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
, а не коллекции клиентов, без указания того, как кратность реализуется на практике.