<  Back to the Polytechnique Montréal portal

Playing roles in design patterns: an empirical descriptive and analytic study

Foutse Khomh, Yann-Gaël Guéhéneuc and Giuliano Antoniol

Technical Report (2009)

Open Acess document in PolyPublie and at official publisher
Open Access to the full text of this document
Published Version
Terms of Use: Tous droits réservés
Download (761kB)
Show abstract
Hide abstract


This work presents a descriptive and analytic study of classes playing zero, one, or two roles in six different design patterns (and combinations thereof ). First, we answer three research questions showing that (1) playing roles in design patterns is not a all-or-nothing characteristic of classes and that there are significant differences among the (2) internal and (3) external characteristics of classes playing zero, one, or two roles. Second, we revisit a previous work on design patterns and changeability and show that its results were, in a great part, due to classes playing two roles. Third, we exemplify the use of the study results to provide a ranking of the occurrences of the design patterns identified in a program. The ranking allows developers to balance precision and recall as they see fit.

Subjects: 2700 Information technology > 2705 Software and development
2700 Information technology > 2706 Software engineering
Department: Department of Computer Engineering and Software Engineering
Funders: Égide Lavoisier, CRSNG/NSERC, Fondation canadienne pour l'innovation
PolyPublie URL: https://publications.polymtl.ca/2643/
Report number: EPM-RT-2009-03
Date Deposited: 06 Oct 2017 13:41
Last Modified: 07 Apr 2024 04:11
Cite in APA 7: Khomh, F., Guéhéneuc, Y.-G., & Antoniol, G. (2009). Playing roles in design patterns: an empirical descriptive and analytic study. (Technical Report n° EPM-RT-2009-03). https://publications.polymtl.ca/2643/


Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item