A software architect’s digest of core practices, pragmatically applied
1234567

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
  • Delve inside the persistence layer, including patterns and implementation.

Dino Esposito

DINO ESPOSITO is CTO and co-founder of Crionet, a startup providing software and IT services to professional tennis and sports companies. Dino still does a lot of training and consulting and is the author of several other books on web and mobile development. His most recent book is Architecting Applications for the Enterprise, Second Edition, written along with Andrea Saltarello. A Pluralsight author, Dino speaks regularly at industry conferences and community events. You can follow Dino on Twitter at @despos and through his blog at http://software2cents.wordpress.com.

Andrea Saltarello

ANDREA SALTARELLO is CEO and founder of Managed Designs (http://www.manageddesigns.it), a company providing consultancy services related to software design and development. A solution architect, Andrea is still eager to write code in real projects in order to get feedback about his architectural decisions. As a trainer and speaker, Andrea had several speaking engagements for courses and conferences across Europe; he has also taught "Operating Systems" during the "Master in Editoria Multimediale" class organized by the University “Politecnico of Milan”. In 2001 Andrea co-founded UGIdotNET (http://www.ugidotnet.org), the first Italian .NET User Group of whom he is the President and leader.