В UML ассоциации A — B
могут быть представлены стрелкой A —> B
для выражения навигации, т.е. обещания, что во время выполнения существует эффективный способ получить связанные B для любого A. Но в UML не существует двойной стрелки (две головки стрелки на одной стороне).
Это собственная нотация Visual Studio. Она соответствует тому, что дизайнер visual studio называет "collection association " (см. также этот учебник). Это означает, что _customers
в CustomerRepository
и AllCustomers
в AllCustomersViewModel
являются коллекциями Customer
и CustomerViewModel
соответственно.
В UML можно было бы просто использовать символ кратности * рядом с головкой стрелки. Тогда имя роли, например _customers
, будет соответствовать многозначному элементу типа Customer
, а не коллекции клиентов, без указания того, как кратность реализуется на практике.
Прикрепляю к посту несколько видео по теме: