Object-oriented modeling and design
Object-oriented modeling and design
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Communications of the ACM
Applying UML and patterns: an introduction to object-oriented analysis and design
Applying UML and patterns: an introduction to object-oriented analysis and design
Communications of the ACM
Communications of the ACM
"The Babel experiment": an advanced pantomime-based training in OOA&OOD with UML
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Evaluating the effectiveness of a pattern application support tool for novices
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Hi-index | 0.00 |
One of the most significant recent developments in software engineering has been the widespread adoption of design patterns. Design patterns enable software developers to incorporate well proven solutions to design problems in their software. This makes their software more flexible and reusable. Design patterns, however, are not easy to learn. They are often presented in complex contexts with partially coded examples. Further, there is no standard naming convention, with designers using very different names for quite similar patterns. These problems limit the accessibility of design patterns to beginning students.In this paper we propose a teaching method to help in the understanding of design patterns and their usage by developing fully coded examples (in Java), of certain design patterns in a particular domain. The method centres around developing an application using a framework which has been constructed using patterns as the central plank of the constuction. The students are then required to develop a related application using the same framework. This approach attempts to make it easier for students to relate to patterns, and to see the link between design patterns and their implementation via these coded frameworks. The aim is a better appreciation of design patterns and a clearer understanding of how to apply them in developing object-oriented solutions.