Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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:

enter image description here
Source: Wikipedia

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

share|cite|improve this question
Look a the name of the file: evidently, it's a UML class diagram. Google for that. – reinierpost Dec 1 '12 at 23:59
up vote 3 down vote accepted

ConcreteImplementer inherits from Implementer, Same for RefinedAbstraction and Abstraction

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

See also here.

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

share|cite|improve this answer
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

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

enter image description here

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. enter image description here

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.
enter image description here

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.

enter image description here

share|cite|improve this answer

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).

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.