We use many standard design patterns throughtout OpenEngine. The following is a list over patterns we use and the specific classes that use them. You may find more info on these patterns in the classic  Design Patterns.

 Visitor (GoF 331)

 Abstract factory (GoF 87)

 Observer (GoF 293)

  • AbstractListener, Event, Listener is a fairly different implementation of the observer pattern functionality. It exists to solve the same problem but does so with a more flexible usage and keeps the type system intact.

 Composite (GoF 163)

 Singleton patten (GoF 127)