-
PLoP
Pattern Languages of Programs, People, and Practices (PLoP®) is the premier conference for pattern authors and users to gather, discuss and learn more about patterns. To achieve this, the conference promotes the use of patterns and pattern languages, as well as the underlying theory of the nature of order. PLoP 2024 will be held October 13-16, 2024. Visit the PLoP Official Site,
- 1
The Hillside Mission
The mission of the Hillside Group is to improve the quality of life and society as a whole. This includes architects, developers, managers, owners, workers, educators, students, and more. Understanding and helping the human element is critical for achieving success. The Hillside Group believes in making processes and design more humane by paying attention to real people and existing practices.
The Hillside Group promotes the use of patterns and pattern languages to record, analyze, and share knowledge to help achieve its mission. The Hillside Group sponsors a variety of activities to achieve this mission—organizing workshops, hosting PLoP (pattern) conferences, and producing publications for discussing, recording, and documenting successful practices.
The Hillside Group supports many different conferences such as: PLoP, EuroPLoP, AsianPLoP, VikingPLoP, SugarLoafPLoP, and ChiliPLoP. These conferences focus on writing groups to better improve patterns through group exposure. Each conference offers advanced topics for the more adept pattern writers. Participants have the opportunity to refine and extend their patterns with help from knowledgeable and sympathetic patterns enthusiasts.
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
- Pattern Definition
A pattern language defines a consists of patterns and the rules with sequences to combine them.
- Patterns Catalog
A collection of pattern resources on the web. Sign up for an account to add your own.
- Tools for Writing Patterns
Pattern writing tools include example code and pattern writing templates.
- PLoP Conference Proceedings
Past conference proceedings from the PLoP conferences.
PLoP Conferences
Patterns Information
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
- Doug Lea's contributed checklist to help write great patterns.
- A Pattern Language for Pattern Writing by Gerard Meszaros and Jim Doble.
Templates
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
- PLoP Conference Proceedings
- Patterns for API Design
- Pattern Languages of Programing
- Security Patterns in Practice
The Hillside Fellowship Award
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 title of Hillside Fellow denotes an outstanding member who has consistently and repeatedly:
- provided excellence in contributions to the patterns body of knowledge
- advanced the arts,
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 program committee will
… Read MorePatterns for API Design
" Patterns for API Design " by Olaf Zimmermann, Mirko Stocker, Daniel Lubke, Uwe Zdun, and Cesare Pautasso
This book is for any domain, technology, or platform
- Identify and overcome API Challenges
- Size your endpoint types and operations
- Design request and response messages and their representations
- Refine your message design for quality
- Combine patterns to solve real-world problems and make
PLoP™ (Oct 13-16, 2024)
Check out the main PLoP Website for more information and details!!!
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 owes something to
… Read More