# What do these arrows in design pattern diagrams mean?

I am learning about software design patterns by reading Wikipedia pages about them. A lot of the patterns such as the bridge pattern have diagrams with boxes and different kinds of arrows:

Source: Wikipedia

Do these diagrams stem from a standard? Why do some arrows have different ending markings? Also, why are some of them dotted?

-
Look a the name of the file: evidently, it's a UML class diagram. Google for that. –  reinierpost Dec 1 '12 at 23:59

ConcreteImplementer inherits from Implementer, Same for RefinedAbstraction and Abstraction

The other arrow: these classes composes without belonging to each other.

The paper-like box is a note (a comment).

-
Perhaps also mention that its UML? Is it UML? –  Realz Slaw Nov 28 '12 at 0:14
Yes, this is UML. –  AJed Nov 28 '12 at 0:18

The arrows mean distinct things. This is a UML (unified modeling language) diagram. Rules for reading and writing these diagrams are pretty well-established, and you should be able to look up some references.

In that diagram, the hollow arrow means generalization (i.e., inheritance, IS_A), and the hollow diamond means aggregation (i.e., a kind of association, HAS_A). The dotted line connects a comment/label and contains auxiliary/meta information (I believe, but double check this one).

-

these arrows & line uses for representing relationship between different entities.

A model is not complete unless the relationships between elements are described properly. The Relationship gives a proper meaning to an UML model.

see this image, you will get difference between all these relations

## Generalization Notation:

Generalization describes the inheritance relationship of the object oriented world. It is parent and child relationship.

Generalization is represented by an arrow with hollow arrow head as shown below. One end represents the parent element and the other end child element.

## Dependency Notation:

Dependency is an important aspect in UML elements. It describes the dependent elements and the direction of dependency.

Dependency is represented by a dotted arrow as shown below. The arrow head represents the independent element and the other end the dependent element.

## Association Notation:

Association describes how the elements in an UML diagram are associated. In simple word it describes how many elements are taking part in an interaction.

Association is represented by a dotted line with (without) arrows on both sides. The two ends represent two associated elements as shown below. The multiplicity is also mentioned at the ends (1, * etc) to show how many objects are associated.

-