Design Pattern Builder: A Concept for Refinable Reusable Design Pattern Libraries
Reuse is one of the core principles in professional software engineering. Design patterns provide a reusable solution for common design problems. But their implementations are generally not reusable as they are often well tailored to a specific context. We introduce a concept, that facilitates the reuse of their implementations by defining an abstract design pattern definition that can be instantiated with specialized design decisions.
This approach is a meta-level Builder constructing design patterns as first-class citizens.
It simplifies the application of design patterns by providing a pattern library and still being able to adjust it to the concrete context.