Generic programming redesign of patterns

Abstract

This pattern faces the problem of improving the performances of design patterns when they are involved in intensive algorithms. Generic programming is a paradigm in which most classes and procedures are parameterized, thus leading to the construction of general and efficient software components. We demonstrate that some design patterns from Gamma et al. can be translated into this paradigm while handling operation polymorphism by parametric polymorphism. We thus preserve their modularity and reusability properties but we avoid the performance penalty due to their dynamic behavior, which is a critical issue in numerical computing.