Appendix B. Catalog of Software Architectural Patterns
A template for describing a pattern typically addresses the following topics:
Aliases. Other names by which this pattern is known.
Context. The situation that gives rise to this problem.
Problem. Brief description of the problem.
Summary of solution. Brief description of the solution.
Strengths of solution.
Weaknesses of solution.
Applicability. When you can use the pattern.
Reference. Where you can find more information about the pattern.