Common Requirements
Description of best practices
- Or at least generally accepted practices. Some people see patterns as a step toward construction of definitive Software Engineering Handbooks.
Appropriate generality
- Evidence that the pattern recurs. This almost always requires that you abstract over several known uses. This may require mention of situations in which the pattern does not apply, along with references to alternative patterns.