Com S 362 --- Object-Oriented Analysis and Design EXERCISE 18: GOF DESIGN PATTERNS: FACTORY AND SINGLETON (File $Date: 2003/12/05 16:29:12 $) The purpose of this exercise is for you to learn more about the Factory and Singleton design patterns. As with all exercises, this is to be done individually, not in teams. And it is due the day this topic is planned to be discussed in class, unless specified otherwise (see the syllabus at: http://www.cs.iastate.edu/~cs362/syllabus.shtml). As with all exercises, you have two choices for doing the work. You can either: - complete it as specified or - write down questions or problems that you had in trying to complete it. If you write down questions or problems you have, these should be detailed enough so that we can tell that you have read the materials and thought about them. (Don't just write: "I couldn't get it to work; say what you tried and what you didn't understand.) During the class where this exercise is discussed, you should try to get help with these by explaining what you did and what your problems or confusions are. Don't be shy; there will be other people with the same problem, and everyone can learn by discussing these issues. 1. [Factory and Singleton] Read Sections 23.3 and 23.4 of Larman's book "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process" (Second Edition, Prentice Hall PTR, Upper Saddle River, NJ, 2001). a. What problem does the factory design pattern solve? b. Why is factory often combined with the singleton pattern? How does that help? Give an example. c. Is there any place in your team's design where you do or could use the factory pattern? If so, briefly describe it. (Hint: think about any controllers or GUI elements if you can't think of other places.) WHAT TO HAND IN You should have at the beginning of class, written answers to the above questions (or written out questions and problems you encountered for each part). Make sure your name is on these. Attach the printouts, if any, requested above. ADDITIONAL READINGS If you have time, read the section on the Factory patterns (pp. 87ff and 107ff) and the Singleton pattern (pp. 127ff) in Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides's book "Design Patterns: Elements of Reusable Object-Oriented Software" (Addison-Wesley, Boston, MA, 1995).