Did you know that you can navigate the posts by swiping left and right?
The final part of this years JAOO for me was a tutorial on Patterns-Oriented Software Architecture held by Frank Buschmann and Kevlin Henney.
To make a long story short this is all about how to design a system by using pattern languages (catalogs of interconnected patterns), and creating a narrative of the different choices made in the process to serve as a documentation of the finished system.
This is an interesting approach to system design. Now, as it happens, Kevlin is sitting next to me as I write this, waiting for our fight to Copenhagen, and so I got the chance to discuss a little bit with him about the background of the material. The two main purposes of pattern languages in software architecture is to aid in design by showing which solution exists to a specific problem in a specific context, and what the trade-offs are, and second to serve as a documentation of the architectural decisions made during the evolution of the system.
I think that patterns and especially pattern languages are an overlooked design tool that we need to start using more.
Both Kevlin and Frank has extensive experience in creating complex systems, and today’s tutorial was all about distributed systems, which we also deal extensively with.
Thanks guys, for some real helpful tips and tools.