Tuesday, November 21, 2017
Text Size

Site Search

Pattern Books

The Design Patterns Book Series showcases many patterns from PLoP conferences and leading experts in the patterns field.

See our Pattern Book Library filled with over 80 Pattern related books.

Patterns Resources

PLoP Conference News

Doug Lea contributed the following checklist for writing great patterns.

A Pattern...

  • Describes a single kind of problem.
  • Describes the context in which the problem occurs.
  • Describes the solution as a constructable
  • Describes design steps or rules for constructing the solution.
  • Describes the forces leading to the solution.
  • Describes evidence that the solution optimally resolves forces.
  • Describes details that are allowed to vary, and those that are not.
  • Describes at least one actual instance of use.
  • Describes evidence of generality across different instances.
  • Describes or refers to variants and subpatterns.
  • Describes or refers to other patterns that it relies upon.
  • Describes or refers to other patterns that rely upon this pattern.
  • Relates to other patterns with similar contexts, problems, or solutions.

The workshop is led by a moderator.

  • The group reads the pattern.


  • The author reads any selection(s) from the pattern that s/he feels is important to explain the pattern to others. The author then becomes a "fly on the wall" and does not participate in the discussion.


  • Summary of the pattern. Given by any member of the group, not the author or moderator.


  • Suggestions for the author. These are not criticisms. There is no eye contact with the author. The author's name is never mentioned; all references are to "the author." Begin the discussion with positive comments.

    The group might consider whether the pattern has the "quality without a name" or how the pattern makes the programmer's life easier.

    Others in the group who also "know" the pattern should not try to clarify or speak for the author during the discussion. The pattern should "stand on its own."

    The moderator should constrain the discussion to the pattern at hand, usually with a comment, "point noted" and then proceed with the workshop. Issues can be directed to a parking lot for consideration after all patterns in the workshop have been discussed.


  • Questions from the author about suggestions from the group. The author should never offer apologies. It can be good for the author to say what s/he "heard" from the group.

    The expectation is that the author is an expert in the area and will act appropriately to suggestions. There is no need to "check" on whether the suggestions are taken to heart. However, the author can request a second workshop as a helpful next step.


  • Thank the author. The moderator should call for applause to recognize the author's contribution.

One of the observations from Jim Coplien's writers' workshop held at AG, was that everyone could be a pattern writer. One suggested method for "patterns mining" is the following:

  • A contributor should attempt to answer the questions: What knowledge would be lost to the company if I were to leave tomorrow? What do I know that I have done a thousand times that I think everyone already knows?


  • Contact Linda Rising, who will assign a "patterns shepherd" - someone who understands the "pattern form" and has been through a writers' workshop - who will guide the writer through the writing of the pattern.


  • When the pattern has been crafted, the author should attend a writers' workshop, where the patterns shepherd may serve as moderator.


  • After the workshop, the author should update the pattern to reflect the suggestions made in the workshop.


  • After the pattern has been modified, the pattern should be publicly posted for comments by all members of the development community. All patterns are living documents that grow and evolve to more useful forms.


  • After a suitable exposure, the pattern could become part of a "Best Practices Handbook." Collections of patterns from this handbook could be part of the standard training program for new hires.

How do you get ideas for patterns? The folks at AG use pattern mining to get ideas for patterns, which they then improve using a writers' workshop.

Useful sources for writing patterns which can appear on the web.

Writing Patterns


Save the following pages as source from your WWW browser and fill in the blanks.

Doug Lea's html template .
The Gang of Four's Template .
AG's HTML template.

  • Hillside Fellowship Award 2016
  • Security Patterns in Practice
  • PLoP 2017 in Vancouver
  • PLoP Conference Proceedings

The Hillside Fellowship Award

Congratulations to Ralph Johnson and Richard Gabriel for being presented the first Hillside Fellowship award at the 2016 PLoP event at Allerton, PLoP 2016 .

Hilside Fellowship Award Recipients 2016

The Hillside Fellowship Program was established in 2016 to recognize members of The Hillside Group who have made exceptional contributions to the Hillside community and to the patterns community at large. The

Read More

Security Patterns in Practice

Eduardo Fernandez's new book " Security Patterns in Practice: Designing Secure Architectures with Software Patterns " has been published.


It is the result of 14 years of producing security patterns with students and colleagues. Almost all of these patterns went through PLoP, EuroPLoP, AsianPLoP, or SugarLoafPLoP. Many of you have participated as shepherds or workshop commentators, the book

Read More

PLoP™ 2017 in Vancouver, Canada

Check out the main PLoP Website for more information and details!!!

Read More

PLoP Conference Proceedings

After the PLoP Workshops, writers are encouraged to modify their papers and submit a final version. The final versions are collected and submitted to the ACM Digital Library. The versions are also available from the conference website.

Conference Proceedings (ACM Digital Library)

Some of the PLoP accepted papers have been published on the ACM Digital Library . The

Read More


Learn More about Patterns


Important: PLoP® is a registered
    trademark of The Hillside Group.

© Copyright 1994 - 2018, All Rights Reserved

Login Form