(free book) Architectural Metapatterns: The Pattern Language of Software Architecture (version 0.9)
Download links (52 MB): GitHub PDF EPUB DOCX Leanpub
What this book is
- A compendium of one or two hundred architectural patterns.
- A classification (taxonomy) of architectural patterns.
- The first large generic pattern language since volume 4 of Pattern-Oriented Software Architecture.
- A step towards the ubiquitous language of software architecture.
- Knowledge should be free. (Let’s all love FOSS!)
What this book is not
- A review of modern technologies.
- A cookbook (decision tree) of ready-made recipes.
- A guide through system design interviews.
- A detailed pattern catalogue.
- A polished commercial-grade textbook.
Changelist since 0.8
I integrated architectural patterns from the following books:
- Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. Brendan Burns. O’Reilly Media, Inc. (2018).
- Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy. Vlad Khononov. O’Reilly Media, Inc. (2021).
- Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures. Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani. O’Reilly Media, Inc. (2021).
and several Internet sources. Chapters affected include Shards, Pipeline, Proxy, Orchestrator and Hexagonal Architecture.
There are two new analytical sections, corresponding to the latest articles here on Medium.
The Ambiguous Patterns chapter was extended and now there are detailed evolutions for Pipeline.
I also drew diagrams for derived storage variants of Polyglot Persistence.
The text and diagrams are now better aligned, and EPUB is finally readable (thanks to Calibre). I still struggle with adding the ToC (outline) to the PDF version.
Other news
The book was rejected by O’Reilly (it’s too similar to their books, thus it may negatively impact their sales) and Manning (the ebook is free and the paper version is too expensive to print because of the color diagrams). Addison-Wesley (InformIT) did not respond to my email.
How you can help
First and foremost, I need a good job, remote from Ukraine. I am out of money (unemployed for 2 years), and if I have to debug a multi-MLoC legacy monolith again to make a living, that will mean that the book does not make any sense, as nobody really needs it.
I also hope that DDD and FOSS communities may be interested as:
- (DDD) the book aims at creating a ubiquitous language by reflecting on software architecture.
- (FOSS) the book was rejected by the publishers exactly because it is free, thus the case resembles Linux vs Minix (they’ve got all the world’s best experts whose knowledge they sell while I am just an unemployed programmer with a free book).
If you know active communities, please tell me about them, or post the book there.
Please spread the word about the book if you like it.
If you see mistakes in the content (which are very likely as I lack experience with distributed systems) or know of any architectural patterns that I missed, or you remember a good book on software architecture which is not covered in mine, please tell me — we can make it better together.