Sustainable Software Architecture: Analyze and Reduce Technical Debt
Authors: Carola Lilienthal
ISBN-10: 1681985691
ISBN-13: 9781681985695
Released: 2019-10-29
Print Length 页数: 307 pages
Book Description
Today’s programmers don’t develop software systems from scratch. Instead,they spend their time fixing,extending,modifying,and enhancing existing software. Legacy systems often turn into an unwieldy mess that becomes increasingly difficult to modify,and with architecture that continually accumulates technical debt.
Carola Lilienthal has analyzed more than 300 software systems written in Java,C#,C++,PHP,ABAP,and TypeScript and,together with her teams,has successfully refactored them. This book condenses her experience with monolithic systems,architectural and design patterns,layered architectures,domain-driven design,and microservices.
With more than 200 color images from real-world systems,good and sub-optimal sample solutions are presented in a comprehensible and thorough way,while recommendations and suggestions based on practical projects allow the reader to directly apply the author’s knowledge to their daily work..
“Throughout the book,Dr. Lilienthal has provided sound advice on diagnosing,understanding,disentangling,and ultimately preventing the issues that make software systems brittle and subject to breakage. In addition to the technical examples that you’d expect in a book on software architecture,she takes the time to dive into the behavioral and human aspects that impact sustainability and,in my experience,are inextricably linked to the health of a codebase. She also expertly zooms out,exploring architecture concepts such as domains and layers,and then zooms in to the class level where your typical developer works day-to-day. This holistic approach is crucial for implementing long-lasting change.”
Contents
1Introduction
2Tracking Down Technical Debt
3 Architecture in Programming Languages
4Architecture Analysis and Improvement
5Cognitive Psychology and Architectural Principles
6Architectural Styles that Reduce Technical Debt
7Pattern in Software Architecture
8 Pattern Languages: A True Architectural Treasure!
9 Chaos Within Layers: The Daily Pain
10 Refining Modularity
11 Real-World Case Studies
12 Conclusion: The Path Toward Sustainable Architecture
Appendix
References
FuBnoten
Index