Adaptability performance trade-off: a controlled experiment

Various design patterns have become known for increasing the adaptability of software, so reducing the cost of maintenance and evolution. In this study the focus was placed on the performance cost of using such patterns with the research question 'How does the use of popular design patterns impact performance?' To answer this, an experiment was designed were a number of music players were developed using popular patterns, and the performance compared to a functionally identical player developed avoiding the patterns under investigation. The results provide evidence that in all cases the design patterns had an impact on performance. However, except in the case of severe hardware constraints, this impact is expected to be so minimal that any performance downside is outweighed by the advantages of using the pattern.