I noticed that the <Create → stereotype can also be applied not only to the Usage dependency, but also to BehavioralFeature (see Section 22.2 in the UML specification).
In UML, "BehavioralFeature" corresponds to specific methods in a class or interface.
Therefore, if we mark a specific method in a class with <Create → or <Destroy → we mean that it creates / destroys instances of this class.
We can draw a parallel between marking the method with <<Create → and marking the usage dependency with <Create →.
If we note the usage dependency on <Create> then this means that the particular method in the client class creates an instance of the provider class. Therefore, we instantiate the provider in the body of our customer class. Customer and supplier are closely related here.
On the other hand, if we note a usage dependency on <Create, the Client Class delegates the creation of the Provider to other objects. Therefore, he creates the Supplier indirectly. In this case, the Client and the Supplier are loosely coupled. For example, this happens if we create a provider through one of the creation templates: object pool, prototype, Factory method, etc.
Note:
By and large, the differences in the specification are not entirely clear. Hope in future releases (over 2.5 version) has clearer definitions.
source share