next up previous
Next: About this document ...

Assignment #4
CpSc 481: Object Technology with C++
Computer Science Department
Clemson University
Brian Malloy
Design Patterns
April 11, 2005

In order to receive credit for this assignment, it must be submitted, using the handin command, by 8 AM on Monday, April 25th.

This assignment will provide an opportunity for you to become familiar with three (3) Design Patterns implemented in C++. The three patterns are Singleton, Command and Factory Method and you should use them to implement a notepad kind of application that allows the user to type lines of text onto a canvas. Use the Command pattern to encapsulate five (5) commands: load, save, encrypt, leet, undo. To obviate the need to pass the text around through the five commands, use a Singleton to store the data. Also, to place the scaffolding for command construction within the Command hierarchy, include a Factory Method as one of your derived classes in the Command pattern.

To get full credit you must provide a GUI interface for your notepad application. This GUI should include a canvas and six buttons, one for each of the commands above and one button to quit the application. I will provide some start code for the GUI; this start code will show you how to implement a button and how to get lines of text from the canvas. However, you will be required to make additions to the GUI code that I provide; these additions should include: (1) a cursor, (2) different buttons, (3) backspace, and (4) facility to retrieve a file name from the user.

Finally, use the handin command to submit you final program. The handin command works as follows:

handin.481.2 <asgn #> <files>
for example:
handin.481.2 4 *




next up previous
Next: About this document ...
Brian Malloy 2005-04-11