uml

Using lollipops/sockets in UML, why and when?


I have been going over some books and some articles to refresh my memory on class diagrams with UML.

I have stumbled upon something i have not known before and that's the lollipops and sockets relations (where lollipops are provided interfaces and sockets are required interfaces).

But I cant seem to wrap my head around when and why to use them. From what I remember about interfaces and and class diagrams, the use of interfaces is done by A realization arrow (I create some interface and some other class will realize it).

So when will i want to use a lollipop association?.


Solution

  • The sockets show a uses dependency between some client classifier and the provider of the interface. This indicates that the client classifier uses any implementation of the interface.