"I wish life was not so short," he thought, "Languages take such a time, and so do all the things one wants to know about."
J.R.R. Tolkien, The Lost Road
In the third part of the book we present one possible pattern language for distributed computing. We distilled it from our own experiences in realizing distributed systems, as well as from the distribution patterns that skillful software architects, designers, and developers contributed to the software community. The language has been used to develop many real-world distributed object computing middleware and distributed applications. You can use it with your colleagues and project team-mates to guide the design of new distributed systems, and also to improve and refactor existing ones.
Over the past fifteen years we have participated in the development of many industrial networked, concurrent, and distributed systems, ranging from industrial process automation systems, medical imaging, and large-scale telecommunication systems, to high-performance communication middleware. The pattern language for distributed computing that we present in this part of the book distils this experience in a tangible, ready-to-use form. You can use it to build new distributed systems, to evolve, re-engineer, or refactor existing systems, or simply to understand the architectures of distributed software systems or middleware that you are using in your work.
Our pattern language for distributed computing includes 114 patterns, which ...