In this project the following design patterns where implemented: Composite-, Bridge, Iterator-, Strategy-, Factory-, Interpreted- and Visitor-Pattern. All of these patterns where used to implement a system which evaluates arithmetical expressions. This system was then extended to support the power operation, floating point numbers and negativ numbers. Because of the used design patterns, these changes where easy to integrate into the system. In the paper the used design patterns are explained in detail and the extensions of the system are presented in more detail.
More information on design patterns: https://en.wikipedia.org/wiki/Software_design_pattern