Abstract

Software design patterns are standard solutions to common problems found in software development and design. Among many other benefits, they enable the creation of reusable, extensible and easy-to-maintain software systems. However, the complexity of comprehending design patterns hinders software designer's ability to adapt software design patterns in software design and development. For novice developers, choosing the most appropriate pattern for a given design context and situation becomes a challenging task. For this reason, a design pattern recommendation system can be of great help, especially for novice designers and developers, to instantiate the right pattern in their design problems. This paper proposes a consolidated approach and presents a tool which combines text-based, case-based and question-based recommendations to suggest an adequate pattern to a design problem. The effectiveness of the tool has been tested on several scenarios used in a design pattern course. Our preliminary evaluation shows that in majority of the cases, the correct design pattern is placed in the top three.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call