This is a project that aims to illustrate certain important design issues using a lab approach. This means that the user gets a skeleton project with some instructions, and is responsible for implementing the left-out parts. The labs will highlight design or architectural issues such as:
Missing model Primitive type paralysis Context object Singleton overdose Married packages Nonsense naming