Provide a descriptive and unique name that helps in identifying and referring to the pattern.
Describe the goal behind the pattern and the reason for using it.
Explain a scenario consisting of a problem, and a context in which this pattern can be used.
Provide a graphical representation of the pattern. High level diagrams may be used for this purpose. You can include an image like in the “Diagram” section.
Include a diagram depicting the components of the pattern and their interactions. You can replace /path/to/diagram.png
with the actual path to your diagram image file.
List the components used in the pattern and their roles in the design.
Provide a description of an implementation of the pattern; the solution part of the pattern.
# Insert sample code here, using the appropriate language syntax highlighting