Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design
- Length: 430 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2009-01-30
- ISBN-10: 059651798X
- ISBN-13: 9780596517984
- Sales Rank: #655845 (See Top 100 Books)
What are the ingredients of robust, elegant, flexible, and maintainable software architecture? Beautiful Architecture answers this question through a collection of intriguing essays from more than a dozen of today’s leading software designers and architects. In each essay, contributors present a notable software architecture, and analyze what makes it innovative and ideal for its purpose.
Some of the engineers in this book reveal how they developed a specific project, including decisions they faced and tradeoffs they made. Others take a step back to investigate how certain architectural aspects have influenced computing as a whole. With this book, you’ll discover:
- How Facebook’s architecture is the basis for a data-centric application ecosystem
- The effect of Xen’s well-designed architecture on the way operating systems evolve
- How community processes within the KDE project help software architectures evolve from rough sketches to beautiful systems
- How creeping featurism has helped GNU Emacs gain unanticipated functionality
- The magic behind the Jikes RVM self-optimizable, self-hosting runtime
- Design choices and building blocks that made Tandem the choice platform in high-availability environments for over two decades
- Differences and similarities between object-oriented and functional architectural views
- How architectures can affect the software’s evolution and the developers’ engagement
Go behind the scenes to learn what it takes to design elegant software architecture, and how it can shape the way you approach your own projects, with Beautiful Architecture.
Table of Contents
Part I. On Architecture
Chapter 1. What Is Architecture?
Chapter 2. A Tale of Two Systems: A Modern-Day Software Fable
Part II. Enterprise Application Architecture
Chapter 3. Architecting for Scale
Chapter 4. Making Memories
Chapter 5. Resource-Oriented Architectures: Being “In the Web”
Chapter 6. Data Grows Up: The Architecture of the Facebook Platform
Part III. Systems Architecture
Chapter 7. Xen and the Beauty of Virtualization
Chapter 8. Guardian: A Fault-Tolerant Operating System Environment
Chapter 9. JPC: An x86 PC Emulator in Pure Java
Chapter 10. The Strength of Metacircular Virtual Machines: Jikes RVM
Part IV. End-User Application Architectures
Chapter 11. GNU Emacs: Creeping Featurism Is a Strength
Chapter 12. When the Bazaar Sets Out to Build Cathedrals
Part V. Languages and Architecture
Chapter 13. Software Architecture: Object-Oriented Versus Functional
Chapter 14. Rereading the Classics