ABSTRACT
Design patterns have made a strong impact on how object-oriented software is designed, implemented, and communicated in industrial projects. Teaching patterns is therefore of great importance. Patterns, however, have a natural catalogue-like nature, that easily misleads us into to lecturing them one at a time. This leaves an impression of patterns as isolated solutions to independent problems. We present our experience with trying to counteract this problem by using a well-engineered framework, JHotDraw, as a case study in how patterns work together to define a flexible and compositional software system of high quality.
- Astrachan, O. OO Overkill: When Simple is Better than Not. In SIGCSE01 {9}, pp. 302--306. Google ScholarDigital Library
- Astrachan, O., Berrt, G., Cox, L., and Mitchener, G. Design Patterns: An Essential Component of CS Curricula. In Proceedings of the Twenty Ninth SIGCSE Technical Symposium on Computer Science Education (1998), pp. 153--160. Google ScholarDigital Library
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reuseable Object-Oriented Software. Addison-Wesley, 1994. Google ScholarDigital Library
- Grand, M. Patterns in Java, Volume 1. Wiley, 1998.Google Scholar
- JHotDraw. http://jhotdraw.sourceforge.net/.Google Scholar
- Kaiser, W. Become a Programming Picasso with JHotDraw. JavaWorld (Feb. 2001).Google Scholar
- Second Killer Examples for Design Patterns and ObjectsFirst Workshop. http://www.cse.buffalo.edu/ alphonce/KillerExamples/, 2003.Google Scholar
- Nguyen, D. Z., and Wong, S. B. Design Patterns for Sorting. In SIGCSE01 {9}, pp. 263--267. Google ScholarDigital Library
- Proceedings of the Thirty Second SIGCSE Technical Symposium on Computer Science Education (2001), ACM Press.Google Scholar
- Wick, M. R. Kaleidoscope: Using Design Patterns in CS1. In SIGCSE01 {9}, pp. 258--262. Google ScholarDigital Library
Index Terms
- Frameworks: putting design patterns into perspective
Recommendations
Frameworks: putting design patterns into perspective
Design patterns have made a strong impact on how object-oriented software is designed, implemented, and communicated in industrial projects. Teaching patterns is therefore of great importance. Patterns, however, have a natural catalogue-like nature, ...
Using generative design patterns to generate parallel code for a distributed memory environment
Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)A design pattern is a mechanism for encapsulating the knowledge of experienced designers into a re-usable artifact. Parallel design patterns reflect commonly occurring parallel communication and synchronization structures. Our tools, CO2P3S (Correct ...
Pattern-Based Parallel Programming
ICPP '02: Proceedings of the 2002 International Conference on Parallel ProcessingThe advantages of pattern-based programming have been well-documented in the sequential programming literature. However patterns have yet to make their way into mainstream parallel computing, even though several research tools support them. There are ...
Comments