PLoP: the gathering of the patterns community

architecture   architecting   pattern  

Throughout my career, numerous individuals and communities have shaped my thinking. Perhaps the most influential of these is the patterns community. In this article, I briefly describe the history of patterns, why I find them valuable, and why you should consider attending the PLoP 2024 conference.

What is a pattern?

The simplest definition of a pattern is that it is reusable solution to a problem occurring in a context. It’s a nicely distilled chunk of knowledge that you can apply if you have the same problem in a similar context.

Patterns = a valuable problem solving framework

There’s usually more to a pattern than simply context, problem, and solution As I described in a 2016 article Why a pattern language for microservices? and the more recent talk Using patterns and pattern languages to make better architectural decisions, a pattern often consists of several valuable elements:

  • Forces - the (possibly conflicting) concerns that you must consider when solving the problem in the context
  • Consequences:
    • Benefits - the forces that the pattern resolves
    • Drawbacks - the forces that the pattern leaves unresolved
    • Issues - the new sub-problems that the solution introduces
  • Related patterns:
    • Alternatives - other solutions to the same problem
    • Successors - patterns that solve the problems introduced by this pattern

As a result, patterns are a great framework for thinking about problems and solutions. For example, the attendees of a recent Architecting for fast, sustainable flow workshop described how the dark energy and dark matter forces were a valuable way to structure architecture and design discussions.

Moreover, as I describe in #becauseItDepends Finding your inner Vulcan: unemotional decision making with pattern-style thinking you don’t even need formally use patterns to find the ideas valuable. The concepts of forces - issues that you need consider - and consequences - a given solution is both good and bad - are useful in their own right. They are an antidote to the all to common Suck/Rock dichotomy that we often fall into when making decisions.

Patterns started with Christopher Alexander

The origins of patterns can be traced back to the work of Christopher Alexander. In the 1970s, he published a series of books on real-world architecture. In these books, he described a pattern language for designing buildings and towns. Eventually, he was discovered by the software community. In 1996, Christopher Alexander gave a keynote at the OOPSLA conference: article and video. An experience he described as “pretty strange” since he knew little about software.

The Gang of Four

The most famous book on software patterns is the Gang of Four’s Design Patterns, which was published in 1994.

The big ball of mud

These days we often use the term ‘big ball of mud’ to describe a messy software system. Here’s the original 1999 paper Big Ball of Mud by Brian Foote and Joseph Yoder. It describes a collection of patterns including Big Ball of Mud and attempts to explain why this architectural style is so popular and what to do about it.

Two of my favorite patterns books

Numerous other books on patterns have been published. Two of my favorites are Martin Fowler’s Patterns of enterprise application architecture and Gregor Hohpe’s Enterprise integration patterns. Gregor’s book is especially valuable today because it describes a pattern language for messaging-based applications: i.e. microservice architectures.

About PLoP: Pattern Languages of Programs, People & Practices

PLoP is a conference where the patterns community gather to discuss, and learn. The first PLoP was in 1994.

Patterns and me

I’ve been excited about patterns since I first read the Gang of Four book. I also have very fuzzy memories of going to patterns study groups in the late 1990s. My paper A Pattern Language for J2EE Web Application Development (PDF) was accepted at PLoP 2001 but sadly, I couldn’t attend due to 9/11. I finally made it to PLoP in 2017, where I gave a talk on the microservices pattern language and received valuable feedback. My book Microservices patterns was published in 2018.

Why attend PLoP 2024?

This year the PLoP conference is at the Skamania Lodge just outside of Portland, Oregon. It’s a great opportunity to learn from the truly smart people who have shaped modern software development. To learn more about PLoP, and, hopefully, register please see the website. I hope to be there too!

Need help with accelerating software delivery?

I’m available to help your organization improve agility and competitiveness through better software architecture: training workshops, architecture reviews, etc.

Learn more about how I can help


architecture   architecting   pattern  


Copyright © 2024 Chris Richardson • All rights reserved • Supported by Kong.

About Microservices.io

Microservices.io is brought to you by Chris Richardson. Experienced software architect, author of POJOs in Action, the creator of the original CloudFoundry.com, and the author of Microservices patterns.

ASK CHRIS

?

Got a question about microservices?

Fill in this form. If I can, I'll write a blog post that answers your question.

NEED HELP?

I help organizations improve agility and competitiveness through better software architecture.

Learn more about my consulting engagements, and training workshops.

LEARN about microservices

Chris offers numerous other resources for learning the microservice architecture.

Get the book: Microservices Patterns

Read Chris Richardson's book:

Example microservices applications

Want to see an example? Check out Chris Richardson's example applications. See code

Virtual bootcamp: Distributed data patterns in a microservice architecture

My virtual bootcamp, distributed data patterns in a microservice architecture, is now open for enrollment!

It covers the key distributed data management patterns including Saga, API Composition, and CQRS.

It consists of video lectures, code labs, and a weekly ask-me-anything video conference repeated in multiple timezones.

The regular price is $395/person but use coupon NPXJKULI to sign up for $95 (valid until December 25th, 2024). There are deeper discounts for buying multiple seats.

Learn more

Learn how to create a service template and microservice chassis

Take a look at my Manning LiveProject that teaches you how to develop a service template and microservice chassis.

Signup for the newsletter


BUILD microservices

Ready to start using the microservice architecture?

Consulting services

Engage Chris to create a microservices adoption roadmap and help you define your microservice architecture,


The Eventuate platform

Use the Eventuate.io platform to tackle distributed data management challenges in your microservices architecture.

Eventuate is Chris's latest startup. It makes it easy to use the Saga pattern to manage transactions and the CQRS pattern to implement queries.


Join the microservices google group