View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

M3_OTIB

Description

This is where the real fun began. The initial design was simply taking the design given to us for M1 and M2 and sticking a GUI on it.

However, Jose did not like that. The general sentiment was: "M2 sucked, their design sucked", and during the entire construction of M2, it was nothing but complaints. Primarily, the design was poor in its abstraction. It forced the team to wait on each other and made it impossible to work because everything needed to be done in the same files. Because of this, after completing the first design that met the requirement to achieve an A, a new design was constructed.

The design called for 4 Singleton classes, each in charge of a given aspect of the game. These Singleton classes would abstract everything out such that nothing from a given "piece" of the game need know of anything else. Communication, however, would be handled through message passing. This allowed for a very versatile design.

The design itself proved powerful needing merely cosmetic changes in everything but the view design that needed to be modified for morphic morph compatibility in Squeak.

If the other milestones are viewed, M4-M6, the design is generally the same. Only a few methods were added and the largest change was in M4 due to the view changes.

More information about the Singleton design style in Squeak can be found in the Case: Design with Singletons in Squeak

Note that the final design went through one iteration before reaching its final state. This intermediate design can be found in FClass_Diagram.vsd

M3.zip
FClass Diagram.vsd

Link to this Page