You may be curious about how a pattern author might approach outlining a structure, implementation, and purpose of a new pattern. A pattern is initially presented in the form of a rule that establishes a relationship between:
With this in mind, lets now take a look at a summary of the component elements for a design pattern. A design pattern should have the following:
- Pattern name
- Description
- Context outline
The contexts in which the pattern is effective in responding to usersâ needs.
- Problem statement
A statement of the problem being addressed so we can understand the intent of the pattern.
- Solution
A description of how the userâs problem is being solved in an understandable list of steps and perceptions.
- Design
A description of the patternâs design and, in particular, the userâs behavior in interacting with it.
- Implementation
A guide to how the pattern would be implemented.
- Illustrations
Visual representations of classes in the pattern (e.g., a diagram).
- Examples
Implementations of the pattern in a minimal form.
- Corequisites
What other patterns may be needed to support use of the pattern being described?
- Relations
What patterns does this pattern resemble? Does it closely mimic any others?
- Known usage
Is the pattern being used in the wild? If so, where and how?
- Discussions
The team or authorâs thoughts on the exciting benefits of the pattern.
Design patterns are quite a powerful approach to getting all of the developers in an organization or team on the same page when creating or maintaining solutions. If you are considering working on a pattern of your own, remember that although patterns may have a heavy initial cost in the planning and write-up phases, the value returned from that investment can be quite worth it. Always research thoroughly before working on new patterns however, as you may find it more beneficial to use or build on top of existing proven patterns, rather than starting afresh.
Get Learning JavaScript Design Patterns now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.