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?

  • $\begingroup$ Look a the name of the file: evidently, it's a UML class diagram. Google for that. $\endgroup$ – 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.

See also here.

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

  • $\begingroup$ Perhaps also mention that its UML? Is it UML? $\endgroup$ – Realz Slaw Nov 28 '12 at 0:14
  • $\begingroup$ Yes, this is UML. $\endgroup$ – 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).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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