Unresolved forces.

Design patterns have unresolved forces. I’m no longer talking about individual patterns but the whole concept. There are unresolved forces of wanting to share them with a larger audience, and those forces are currently deadlocked against the forces of ego and image-driven processes. Getting the larger picture of design patterns out to everyone only benefits everyone.

The ego-driven effect on design patterns left us with numerous people proving they understood them but scant access to that knowledge. We must resolve the force of freeing knowledge and let the patterns out. Give people what they need to recognise them and understand enough of them to appreciate what they offer. But the force of fame for the individual and making money from it stands in the way.

There’s an unresolved desire to share design patterns with the rest of the community. The ideals of those who work in software architecture are plain to see. Academics or professionals who like to work in software see value in it. They want people to know what’s available and use the knowledge that has been gathered over the years. Still, there remains a constant need to gain recognition or money from it, which causes problems, such as being unable to get hold of worthwhile books.

The same force of making money from a project, or the force of ego or mark-making, is at the centre of some of the recognisably bad architecture exhibited in The Nature of Order, Book 1[NoO1-01] books. The buildings that stand out as inhuman, or at least not built for human living, are those where the architect’s ego was more important than the life of the building’s occupier or the ability to sell the design was more important than the inhabitants’ comfort.

This is why I say the design pattern movement has unresolved forces, hence the book’s title. When reading Christopher Alexander’s works, we note that ‘to balance or resolve conflicts’; often appears. From a systems point of view, it means finding some potential difference, like a charged battery or, better yet, like static electric build-up. It means we recognise where the system is stressed and where to begin to relieve it. You can think of it as a release of tension.

Sometimes, resolving forces can mean tidying up; you remove the clutter to think about the important stuff. But it can also be recognising discord and how fixing it is the most urgent act.

The forces are the as-yet unsatisfied demands. The forces are what will tear a thing apart if left unchecked. They will make the whole incomplete. They are the gaps and the lack. They are also the workarounds that make life exhausting. They are the inefficiencies, the security holes, and anything keeping you up at night, your worries and unfinished business. They are the source of anxiety and why people can’t settle or never feel comfortable or confident that things are fine.

To resolve the design patterns’ forces, we must recognise them. First, there is the force of awareness of what design patterns are. They are for everyone, not just object-oriented programmers, even though the most famous book in computer science speaks specifically about them. Design patterns are better when formed as languages solving a greater problem. Second, we must recognise the force of availability. We must find a way to make design patterns usable for everyone.