Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Software Architect’s Handbook

You're reading from   Software Architect’s Handbook Become a successful software architect by implementing effective architecture concepts

Arrow left icon
Product type Paperback
Published in Aug 2018
Publisher Packt
ISBN-13 9781788624060
Length 594 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Joseph Ingeno Joseph Ingeno
Author Profile Icon Joseph Ingeno
Joseph Ingeno
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Preface 1. The Meaning of Software Architecture FREE CHAPTER 2. Software Architecture in an Organization 3. Understanding the Domain 4. Software Quality Attributes 5. Designing Software Architectures 6. Software Development Principles and Practices 7. Software Architecture Patterns 8. Architecting Modern Applications 9. Cross-Cutting Concerns 10. Performance Considerations 11. Security Considerations 12. Documenting and Reviewing Software Architectures 13. DevOps and Software Architecture 14. Architecting Legacy Applications 15. The Soft Skills of Software Architects 16. Evolutionary Architecture 17. Becoming a Better Software Architect 18. Other Books You May Enjoy

Summary

Even though software engineering is a relatively new discipline compared to other types of engineering, a number of principles and practices have been established to create high-quality software systems.

We learned that to design orthogonal software systems that can be extended while minimizing the impact to existing functionality, we need to focus on loose coupling and high cohesion. To minimize complexity in our software applications, a number of principles can be applied, such as KISS, DRY, information hiding, YAGNI, and SoC.

The SOLID design principles, which include the SRP, OCP, LSP, ISP, and DIP, can be used to create code that is more understandable, maintainable, reusable, testable, and flexible. A number of practices, such as unit testing, pair programming, and reviewing deliverables can be used to identify defects and improve the quality of software systems...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime