Project

Aims

  • Appreciate issues in user interface design

  • Learn practical aspects of graphical user interface programming

  • Learn more about the Java class libraries

  • Learn the application of design patterns

Summary

Final software architecture UML diagram: see here

The code is designed to be as minimally coupled as possible, with each class being as focused on only its job as possible. To help achieve this, this application in particular makes heavy use of the:

  • Observer design pattern,
  • State design pattern,

as well as numerous other patterns, such as the Visitor pattern.