Share your experience and start writing a pattern today!
- Patterns are a great way of getting a new view on things that you think you know by heart.
- Patterns are a way to pass on your knowledge to others in an easily understandable way.
- Patterns make your thoughts available to others to give you feedback.
To get an easy start into pattern writing, download our introductory information pack [672 kb].
This information pack consists of the following papers:
- How to write a pattern? – A rough guide for first-time pattern authors
- Advanced Pattern Writing – Patterns for Experienced Pattern Authors
- A Pattern Language for Pattern Writing
- The Language of Shepherding – A Pattern Language for Shepherds and Sheep
While there are many different description formats, a good pattern should always capture the following components:
The situation in which the solution is applicable. The context describes the conditions under which we find a problem that can be solved by the pattern. The key to describe the context is to ask when-questions. When can this pattern be applied? When should it not be applied? Which other patterns have led to this context?
Problem and forces:
This section describes the problem that can be found in a certain context. It reasons about why something has to be done and why it could be done in the specific way described in the solution. The key to describe the problem and forces is to ask why-questions. Why do we have to follow this specific solution? Why do we need this specific form? Why can’t we do another thing instead? Each single force gives another answer to such why-questions. A force explains the cause for a specific design decision by giving the “because” to the “why”.
The solution describes how the problem and the conflict of forces can be resolved by a specific structure. The key to describe the solution is to ask what-, how- and who-questions. What is the general structure of the solutions? How can I generate the solution structure? How do the parts relate and interact? Who is participating in the solution? What are variations of the solution? Many pattern authors first provide a brief summary of the solution form (what the solution is about) followed by implementation details. Examples can illustrate the whole solution or parts of it. Known uses refer to empirical evidence that the solution has worked in actual projects.
This section reasons about the impact of applying a solution. It describes the resulting context, benefits, costs, drawbacks, tradeoffs and liabilities of the solution. Which forces have been resolved or weakened? Which forces remain or have been newly introduced? What needs to be done next and which other patterns could support this solution?
Pattern authors often use different names for these sections or split one component into several sub-sections.