Over the years of software development, we have continued to leverage abstraction and tooling to build ever more complex solutions. Pattern implementations let us take the next step in this progression. Again, pattern specifications gave us a vocabulary to use when designing and building solutions. We no longer had to discuss things at a code or module level. Patterns let us communicate in a known, shared language that carried with it best practices and proven solutions.
As we move forward with pattern implementations, we can leverage this communication mechanism and build upon it. With pattern implementations, we now have a set of widgets within our tools that we can bring to bear on our projects. We can use them to communicate, design, and generate. These widgets abstract away much of the complexity, letting us focus on the problem at hand.
In this article, we explored the benefits of using pattern implementations as a generating artifact. Other aspects worth exploring are the different types of pattern implementations, how they can be built, and the best practices supporting their creation. But that will have to wait for another article.