A software architect's digest of core practices, pragmatically
applied
Designing effective architecture is your best strategy for managing
project complexity-and improving your results. But the principles and
practices of software architecting-what the authors call the "science of
hard decisions"-have been evolving for cloud, mobile, and other shifts.
Now fully revised and updated, this book shares the knowledge and
real-world perspectives that enable you to design for success-and
deliver more successful solutions.
In this fully updated Second Edition, you will:
- Learn how only a deep understanding of domain can lead to appropriate
architecture
- Examine domain-driven design in both theory and implementation
- Shift your approach to code first, model later-including multilayer
architecture
- Capture the benefits of prioritizing software maintainability
- See how readability, testability, and extensibility lead to code
quality
- Take a user experience (UX) first approach, rather than designing for
data
- Review patterns for organizing business logic
- Use event sourcing and CQRS together to model complex business domains
more effectively