The Design Patterns book is more than just a collection of elegant solutions to common problems, it provides us with a vocabulary and framework for analyzing those problems. Discussing and applying design patterns helps shift the focus from the immediate problem to design. As the Puppet community converged on an idea of what "good" code looks like, Puppet design patterns began to emerge and design became more important. With more and more complex software being modeled in Puppet, those design patterns are more relevant than ever before. As the Puppet language takes on more general purpose and orchestration features, the need for good design patterns only grows with every release. This talk will discuss some of those design patterns and the problems that they solve.