Use the Pattern Template for documenting design solutions
A pattern is defined as a solution to a problem in context, emphasizing the rationale ('why') as well as the implementation ('how'). When documenting a new pattern, use the following template structure to ensure consistency and clarity:
- Name: A unique reference for the problem/solution pairing.
- Problem: The specific issue that needs to be solved.
- Solution: The proposed resolution to the problem.
- Context: The circumstances, constraints, and situations where the pattern is applicable.
- Forces: The constraints, challenges, conflicting requirements, or trade-offs that make the problem non-trivial.
- Indications (Optional): Symptoms that suggest the problem exists.
- Resulting Context (Optional): The state of the system after the pattern is applied, including any new problems created.
- Related Patterns (Optional): Alternative solutions, variations, or subsequent patterns.
- Examples (Optional): Concrete illustrations of the pattern in use.
- Code Samples (Optional): Implementation code.
- Rationale (Optional): Explanation of why this specific solution is most appropriate for the context.