Design Pattern Context

Consists of:

  • Participants
    • Class involved to form a design pattern.
    • The play different roles to accomplish the goals of the design pattern
  • Quality Attributes
    • Non-functional requirements effect the entire software & architectural solutions address them
    • Usability
    • Modifiability
    • Reliability
    • Performance
    • More…
  • Forces
    • Various factors or trade-offs to consider
    • Quality attributes manifest forces
  • Consequences
    • If we don’t reason about these forces well then we will face unintended consequences
    • Worst performance, etc
    • Decision makers should consider consequence
    • Knowing when to use a design patterns and when not to use it is crucial

Pattern Language:

  • Name
    • Capture the gist of patterns
    • Vocabulary – meaningful and memorable
  • Context
    • Provides a scenario in which we use these patterns
    • Offers more insight on when to use the pattern
  • Problem
    • Describes a design challenge a pattern is addressing
  • Solution
    • Specifies the patterns itself
    • Structure -> relationships between the elements in a pattern
    • Behavior -> all the interactions between that pattern elements
  • Related Patterns
    • List other patterns being used together with the pattern being described
    • Or; Similar patterns
    • Crucial to precisely describe the subtle differences between the patterns

Leave a Comment